ATLAS Offline Software
Public Member Functions | Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
CheckFlow_New_Minbias Class Reference

#include <CheckFlow_New_Minbias.h>

Inheritance diagram for CheckFlow_New_Minbias:
Collaboration diagram for CheckFlow_New_Minbias:

Public Member Functions

 CheckFlow_New_Minbias (const std::string &name, ISvcLocator *pSvcLocator)
 
StatusCode initialize ()
 
StatusCode execute ()
 
StatusCode finalize ()
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Public Attributes

 InputCollections
 
 job = AlgSequence()
 
 EvtMax
 
 OutputLevel
 
 Output
 
 CheckFlow_New_Minbias = job.CheckFlow_New_Minbias
 
 McEventKey
 
 RapidityCutMax
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

enum  { n_ptbin =16, n_etabin =8, n_b_bins =19 }
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

std::string m_key
 
bool m_produceHistogram
 
double m_bcut_min
 
double m_bcut_max
 
double m_ptcut_min
 
double m_ptcut_max
 
double m_rapcut_min
 
double m_rapcut_max
 
TH1D * m_hist_Psi_n_true [6][n_b_bins]
 
TH1D * m_hist_Psi_n_reco [6][n_b_bins]
 
TH1D * m_hist_psi_corr_true [36][n_b_bins]
 
TH1D * m_hist_psi_corr_reco [36][n_b_bins]
 
TH1D * m_hist_Psi_n_ebe [6][n_b_bins]
 
TH1D * m_hist_Psi_n_ebe_pt [6][n_b_bins]
 
TH1D * m_hist_vn_ebe [6][n_b_bins]
 
TH1D * m_hist_vn_ebe_ID1 [6][n_b_bins]
 
TH1D * m_hist_vn_ebe_ID2 [6][n_b_bins]
 
TProfile * m_profile_pt_dep [6][n_b_bins][n_etabin]
 
TProfile * m_profile_eta_dep [6][n_b_bins][n_ptbin]
 
TProfile * m_profile_pt_dep_reco [6][n_b_bins][n_etabin]
 
TProfile * m_profile_eta_dep_reco [6][n_b_bins][n_ptbin]
 
TProfile * m_profile_b_dep [6][n_ptbin][n_etabin]
 
TProfile * m_profile_b_dep_reco [6][n_ptbin][n_etabin]
 
TProfile * m_profile_resolution [6]
 
ITHistSvc * m_thistSvc
 
TruthHelper::GenAccessIOm_tesIO
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 33 of file CheckFlow_New_Minbias.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
n_ptbin 
n_etabin 
n_b_bins 

Definition at line 52 of file CheckFlow_New_Minbias.h.

52  {
53  n_ptbin=16,
54  n_etabin=8,
55  n_b_bins=19
56  };

Constructor & Destructor Documentation

◆ CheckFlow_New_Minbias()

CheckFlow_New_Minbias::CheckFlow_New_Minbias ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode CheckFlow_New_Minbias::execute ( )

Definition at line 203 of file CheckFlow_New_Minbias.cxx.

203  {
204 
205  ATH_MSG_INFO(">>> CheckFlow_New_Minbias from execute");
206  const float pt_binvals[]={0.0,0.25,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,6.0,8.0,12.0,16.0,20.0,30.0,40.0};
207  const float b_bin_vals[]={0.0,3.4955,4.9315,6.0375,6.9695,7.7895,8.5335,9.2135,9.8515,10.4485,11.0175,11.554,12.070,12.560,13.033,13.492,13.944,14.409,14.929,15.6425};
208  const float eta_bin_max = 4.0;
209  const HijingEventParams *hijing_pars;
210 
211 
212  CHECK(evtStore()->retrieve(hijing_pars, "Hijing_event_params"));
213  float b = hijing_pars->get_b();
214  float Psi_n[6],Psi_n_reco[6];
215  for(int ihar=0;ihar<6;ihar++){Psi_n[ihar]=hijing_pars->get_psi(ihar+1);}
216  ATH_MSG_INFO("SOUMYA "<<hijing_pars->get_psi(1)<<" "<<hijing_pars->get_psi(2)<<" "\
217  <<hijing_pars->get_psi(3)<<" "<<hijing_pars->get_psi(4)<<" "\
218  <<hijing_pars->get_psi(5)<<" "<<hijing_pars->get_psi(6)<<" "\
219  <<b);
220 
221 
222 
223  int ib_imp=-1;
224  for(int ib=0;ib<n_b_bins;ib++){if(b<b_bin_vals[ib+1]) {ib_imp=ib;break;}}
225  if(ib_imp<0) return StatusCode::SUCCESS;
226  if(ib_imp==0) {std::cout<<"AAAAAAAAAAAAAAAAAAAA "<<b<<std::endl;}
227 
228  // Check cut on impact parameter b
229  if(b<m_bcut_min || b>m_bcut_max) return StatusCode::SUCCESS;
230 
231 
232  double ngenerated_pos = 0,ngenerated_pt_pos=0;
233  double ngenerated_neg = 0,ngenerated_pt_neg=0;
234  double cos_n_pos[6],sin_n_pos[6],cos_n_pt_pos[6],sin_n_pt_pos[6];
235  double cos_n_neg[6],sin_n_neg[6],cos_n_pt_neg[6],sin_n_pt_neg[6];
236  double cos_ID1[6],sin_ID1[6],tot_ID1=0.0;
237  double cos_ID2[6],sin_ID2[6],tot_ID2=0.0;
238  for(int ihar=0;ihar<6;ihar++){
239  cos_n_pos [ihar]=0;
240  sin_n_pos [ihar]=0;
241  cos_n_pt_pos[ihar]=0;
242  sin_n_pt_pos[ihar]=0;
243  cos_n_neg [ihar]=0;
244  sin_n_neg [ihar]=0;
245  cos_n_pt_neg[ihar]=0;
246  sin_n_pt_neg[ihar]=0;
247  cos_ID1 [ihar]=0;
248  sin_ID1 [ihar]=0;
249  cos_ID2 [ihar]=0;
250  sin_ID2 [ihar]=0;
251  }
252 
253 
254  // Iterate over MC particles
255  std::vector<HepMC::ConstGenParticlePtr> particles;
256  CHECK(m_tesIO->getMC(particles, false, m_key));
257 
258  for (auto pitr: particles) {
259  int pid = pitr->pdg_id();
260  int p_stat = pitr->status();
261  double pt = pitr->momentum().perp();
262  double rapid = pitr->momentum().pseudoRapidity();
263  double phi = pitr->momentum().phi();
264  ATH_MSG_DEBUG(" PID = " << pid << " Status = " << p_stat \
265  << " Eta = " << rapid << " Phi = " << phi);
266 
267  if( (std::abs(rapid) >= m_rapcut_min) &&
268  (std::abs(rapid) <= m_rapcut_max) &&
269  (std::abs(pt) >= m_ptcut_min ) &&
270  (std::abs(pt) <= m_ptcut_max)) {
271 
272  for(int ihar=0;ihar<6;ihar++){
273  float temp=(ihar+1)*(phi-Psi_n[ihar]);
274 
275  int ieta= (int)(std::abs(rapid)*n_etabin/eta_bin_max);
276  if(ieta>=0 && ieta<n_etabin) m_profile_pt_dep [ihar][ib_imp][ieta]->Fill(pt/1000,cos(temp));
277 
278 
279  float temp_pt=pt/1000;
280  for(int ipt=0;ipt<n_ptbin;ipt++){
281  if(temp_pt<pt_binvals[ipt+1]){
282  m_profile_eta_dep[ihar][ib_imp][ipt]->Fill(rapid ,cos(temp));
283  if(ieta>=0 && ieta<n_etabin) m_profile_b_dep [ihar][ipt][ieta]->Fill(ib_imp,cos(temp));
284  break;
285  }
286  }
287 
288  if( rapid >3.2 && rapid< 4.9){
289  cos_n_pos[ihar]+=std::cos( (ihar+1)*phi);
290  sin_n_pos[ihar]+=std::sin( (ihar+1)*phi);
291  ngenerated_pos++;
292 
293  cos_n_pt_pos[ihar]+=pt*cos( (ihar+1)*phi);
294  sin_n_pt_pos[ihar]+=pt*sin( (ihar+1)*phi);
295  ngenerated_pt_pos +=pt;
296  }
297  if( rapid <-3.2 && rapid >-4.9){
298  cos_n_neg[ihar]+=std::cos( (ihar+1)*phi);
299  sin_n_neg[ihar]+=std::sin( (ihar+1)*phi);
300  ngenerated_neg++;
301 
302  cos_n_pt_neg[ihar]+=pt*std::cos( (ihar+1)*phi);
303  sin_n_pt_neg[ihar]+=pt*std::sin( (ihar+1)*phi);
304  ngenerated_pt_neg +=pt;
305  }
306  }
307  }
308 
309  //EbE vn for ID acceptance end pt>0.5GeV
310  if(std::abs(pt)>=500){
311  tot_ID1++;
312  for(int ihar=0;ihar<6;ihar++){
313  cos_ID1[ihar]+=cos((ihar+1)*phi);
314  sin_ID1[ihar]+=sin((ihar+1)*phi);
315  }
316  }
317  if(std::abs(pt)>=0){
318  tot_ID2++;
319  for(int ihar=0;ihar<6;ihar++){
320  cos_ID2[ihar]+=cos((ihar+1)*phi);
321  sin_ID2[ihar]+=sin((ihar+1)*phi);
322  }
323  }
324  }
325 
326 
327 //EbE vn for ID acceptance end pt>0.5GeV
328  for(int ihar=0;ihar<6;ihar++){
329  if(tot_ID1>0.01){
330  double temp1= std::sqrt(cos_ID1[ihar]*cos_ID1[ihar] + sin_ID1[ihar]*sin_ID1[ihar])/tot_ID1;
331  m_hist_vn_ebe_ID1[ihar][ib_imp]->Fill(temp1);
332  }
333  if(tot_ID2>0.01){
334  double temp2= std::sqrt(cos_ID2[ihar]*cos_ID2[ihar] + sin_ID2[ihar]*sin_ID2[ihar])/tot_ID2;
335  m_hist_vn_ebe_ID2[ihar][ib_imp]->Fill(temp2);
336  }
337  }
338 
339 
340 // Calculate the event by event vn and also the reconstructed Psi_n angles
341 // Also make correlation histos between Psi_n_truth and Psi_n_reco
342  float cos_n[6],sin_n[6],cos_n_pt[6],sin_n_pt[6];
343  float Psi_n_reco_pos[6],Psi_n_reco_neg[6];
344  for(int ihar=0;ihar<6;ihar++){
345  cos_n[ihar] = ( cos_n_pos[ihar]+ cos_n_neg[ihar] ) / (ngenerated_pos+ngenerated_neg);
346  sin_n[ihar] = ( sin_n_pos[ihar]+ sin_n_neg[ihar] ) / (ngenerated_pos+ngenerated_neg);
347 
348  float psi_reco=std::atan2(sin_n[ihar],cos_n[ihar])/(ihar+1);
349  m_hist_Psi_n_ebe[ihar][ib_imp]->Fill( (ihar+1)*(psi_reco-Psi_n[ihar]) );
350  m_hist_vn_ebe [ihar][ib_imp]->Fill(std::sqrt(cos_n[ihar]*cos_n[ihar] +sin_n[ihar]*sin_n[ihar] ));
351 
352  Psi_n_reco_pos[ihar]=std::atan2(sin_n_pos[ihar],cos_n_pos[ihar])/ (ihar+1);
353  Psi_n_reco_neg[ihar]=std::atan2(sin_n_neg[ihar],cos_n_neg[ihar])/ (ihar+1);
354  Psi_n_reco [ihar]=psi_reco;
355 
356 
357  cos_n_pt[ihar] = ( cos_n_pt_pos[ihar]+ cos_n_pt_neg[ihar] ) / (ngenerated_pt_pos+ngenerated_pt_neg);
358  sin_n_pt[ihar] = ( sin_n_pt_pos[ihar]+ sin_n_pt_neg[ihar] ) / (ngenerated_pt_pos+ngenerated_pt_neg);
359 
360  psi_reco=std::atan2(sin_n_pt[ihar],cos_n_pt[ihar])/(ihar+1);
361  m_hist_Psi_n_ebe_pt[ihar][ib_imp]->Fill( (ihar+1)*(psi_reco-Psi_n[ihar]) );
362  }
363 
364 
365 // Make the plots for the correlation between Psi_n truth (for different n) (same for Psi_n reco)
366  for(int ihar=0;ihar<6;ihar++){
367  m_hist_Psi_n_true[ihar][ib_imp]->Fill((ihar+1)*Psi_n[ihar]);
368  m_hist_Psi_n_reco[ihar][ib_imp]->Fill((ihar+1)*Psi_n_reco[ihar]);
369 
370  float psi1,psi2;
371  for(int ihar2=0;ihar2<6;ihar2++){
372  psi1=(ihar+1)*Psi_n[ihar];psi2=(ihar2+1)*Psi_n[ihar2];
373  m_hist_psi_corr_true[ihar*6+ihar2][ib_imp]->Fill( std::atan2( std::sin(psi1-psi2),std::cos(psi1-psi2) ) );
374 
375  psi1=(ihar+1)*Psi_n_reco[ihar];psi2=(ihar2+1)*Psi_n_reco[ihar2];
376  m_hist_psi_corr_reco[ihar*6+ihar2][ib_imp]->Fill( std::atan2( std::sin(psi1-psi2),std::cos(psi1-psi2) ) );
377  }
378  }
379 
380 
381 
382 
383 
384 // calculate the pt and eta dependence using the Psi_reco angles also fill the resolution TProfile
385  for(int ihar=0;ihar<6;ihar++){
386  m_profile_resolution[ihar]->Fill( ib_imp, cos( (ihar+1) * (Psi_n_reco_pos[ihar] - Psi_n_reco_neg[ihar]) ) );
387  if(ib_imp==0) {std::cout<<"i11111111111111111111 "<<b<<std::endl;}
388  }
389  for (auto pitr: particles) {
390  double pt = pitr->momentum().perp();
391  double rapid = pitr->momentum().pseudoRapidity();
392  double phi = pitr->momentum().phi();
393  if( (std::abs(rapid) >= m_rapcut_min) && (std::abs(rapid) <= m_rapcut_max) &&
394  (std::abs(pt) >= m_ptcut_min) && (std::abs(pt) <= m_ptcut_max) ) {
395 
396  for(int ihar=0;ihar<6;ihar++){
397  float temp=(ihar+1)*(phi-Psi_n_reco_pos[ihar]);
398  if(rapid>0) temp=(ihar+1)*(phi-Psi_n_reco_neg[ihar]);
399 
400 
401  int ieta= (int)(std::abs(rapid)*n_etabin/eta_bin_max);
402  if(ieta>=0 && ieta<n_etabin) m_profile_pt_dep_reco [ihar][ib_imp][ieta]->Fill(pt/1000,cos(temp));
403 
404  float temp_pt=pt/1000;
405  for(int ipt=0;ipt<n_ptbin;ipt++){
406  if(temp_pt<pt_binvals[ipt+1]){
407  m_profile_eta_dep_reco[ihar][ib_imp][ipt]->Fill(rapid ,cos(temp));
408  if(ieta>=0 && ieta<n_etabin) m_profile_b_dep_reco [ihar][ipt][ieta]->Fill(ib_imp,cos(temp));
409  break;
410  }
411  }
412  }
413  }
414  }
415 
416  return StatusCode::SUCCESS;
417 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ finalize()

StatusCode CheckFlow_New_Minbias::finalize ( )

Definition at line 419 of file CheckFlow_New_Minbias.cxx.

419  {
420 
421  ATH_MSG_INFO(">>> CheckFlow_New from finalize");
422 
423  return StatusCode::SUCCESS;
424 }

◆ initialize()

StatusCode CheckFlow_New_Minbias::initialize ( )

Definition at line 56 of file CheckFlow_New_Minbias.cxx.

56  {
57  StatusCode result = StatusCode::SUCCESS;
58 
59  ATH_MSG_INFO(">>> CheckFlow_New_Minbias from Initialize");
60 
61 
62  ServiceHandle<ITHistSvc> rootHistSvc("THistSvc",name());
63  CHECK( rootHistSvc.retrieve() );
64  std::string histPath = "/FlowOutPut/";
65  std::vector<TH1*> hist_vec;
66  char name[100],name1[100];
67 
68 
69  for (int ihar=0;ihar<6;ihar++){
70  for(int ib_imp=0;ib_imp<n_b_bins;ib_imp++){
71 
72  const float pt_binvals[]={0.0,0.25,0.5,1.0,1.5,2.0,2.5,3.0,3.5,4.0,6.0,8.0,12.0,16.0,20.0,30.0,40.0};
73  //const float b_bin_vals[]={0.0,3.4955,4.9315,6.0375,6.9695,7.7895,8.5335,9.2135,9.8515,10.4485,11.0175,
74  // 11.554,12.070,12.560,13.033,13.492,13.944,14.409,14.929,15.6425};
75  const float eta_bin_max = 4.0;
76 //----------------------------------------The reconstructed and truth Psi and the correlations between them-----------------------------
77  sprintf(name,"hist_Psi_%d_true_b%d",ihar+1,ib_imp);
78  sprintf(name1,"Truth Psi_{%d} distribution;%dPsi_{%d} Truth;events",ihar+1,ihar+1,ihar+1);
79  m_hist_Psi_n_true [ihar][ib_imp]=new TH1D (name,name1,1000,-M_PI,M_PI);
80  hist_vec.push_back(m_hist_Psi_n_true [ihar][ib_imp]);
81 
82  sprintf(name,"hist_Psi_%d_reco_b%d",ihar+1,ib_imp);
83  sprintf(name1,"Reconstructed Psi_{%d} distribution;%dPsi_{%d} Reco;events",ihar+1,ihar+1,ihar+1);
84  m_hist_Psi_n_reco [ihar][ib_imp]=new TH1D (name,name1,1000,-M_PI,M_PI);
85  hist_vec.push_back(m_hist_Psi_n_reco [ihar][ib_imp]);
86 
87 
88  for (int ihar2=0;ihar2<6;ihar2++){
89  int ihar_i=ihar*6+ihar2;
90 
91  sprintf(name,"hist_Psi_corr_true_b%d_%d_%d",ib_imp,ihar+1,ihar2+1);
92  sprintf(name1,"true Psi_{%d} -Psi_{%d};%dPsi_{%d} -%dPsi_{%d} ;events",ihar+1,ihar2+1,ihar+1,ihar+1,ihar2+1,ihar2+1);
93  m_hist_psi_corr_true [ihar_i][ib_imp]=new TH1D (name,name1,1000,-2*M_PI,2*M_PI);
94  hist_vec.push_back(m_hist_psi_corr_true [ihar_i][ib_imp]);
95 
96  sprintf(name,"hist_Psi_corr_reco_%d_%d_%d",ib_imp,ihar+1,ihar2+1);
97  sprintf(name1,"reco Psi_{%d} -Psi_{%d};%dPsi_{%d} -%dPsi_{%d} ;events",ihar+1,ihar2+1,ihar+1,ihar+1,ihar2+1,ihar2+1);
98  m_hist_psi_corr_reco [ihar_i][ib_imp]=new TH1D (name,name1,1000,-2*M_PI,2*M_PI);
99  hist_vec.push_back(m_hist_psi_corr_reco [ihar_i][ib_imp]);
100  }
101 //------------------------------------------------------------------------------------------
102 
103 
104 
105 //-----------------------------------------------------------------------------------------
106  //integrated vn event by event
107  sprintf(name,"hist_v%d_b%d_ebe",ihar+1,ib_imp);
108  sprintf(name1,"v%d;v%d;events",ihar+1,ihar+1);
109  m_hist_vn_ebe [ihar][ib_imp]=new TH1D (name,name1,1000,-0.5,0.5);
110  hist_vec.push_back(m_hist_vn_ebe [ihar][ib_imp]);
111 
112  sprintf(name,"hist_v%d_b%d_ebe_ID1",ihar+1,ib_imp);
113  sprintf(name1,"v%d;v%d;events",ihar+1,ihar+1);
114  m_hist_vn_ebe_ID1 [ihar][ib_imp]=new TH1D (name,name1,800,0.0,0.4);
115  sprintf(name,"hist_v%d_b%d_ebe_ID2",ihar+1,ib_imp);
116  m_hist_vn_ebe_ID2 [ihar][ib_imp]=new TH1D (name,name1,800,0.0,0.4);
117  hist_vec.push_back(m_hist_vn_ebe_ID1 [ihar][ib_imp]);
118  hist_vec.push_back(m_hist_vn_ebe_ID2 [ihar][ib_imp]);
119 
120  sprintf(name ,"hist_Psi%d_b%d_ebe",ihar+1,ib_imp);
121  sprintf(name1,"%d#Delta#Psi;%d(#Psi_{reco}-#Psi_{Truth});events",ihar+1,ihar+1);
122  m_hist_Psi_n_ebe [ihar][ib_imp]=new TH1D (name,name1,1000,-M_PI,M_PI);
123  hist_vec.push_back(m_hist_Psi_n_ebe [ihar][ib_imp]);
124 
125  sprintf(name ,"hist_Psi%d_b%d_ebe_pt",ihar+1,ib_imp);
126  sprintf(name1,"%d#Delta#Psi (pT weighted);%d(#Psi_{reco}-#Psi_{Truth});events",ihar+1,ihar+1);
127  m_hist_Psi_n_ebe_pt [ihar][ib_imp]=new TH1D (name,name1,1000,-M_PI,M_PI);
128  hist_vec.push_back(m_hist_Psi_n_ebe_pt [ihar][ib_imp]);
129 //-----------------------------------------------------------------------------------------
130 
131 
132 
133 
134 
135 //-----------------------------------------------------------------------------------------
136  for(int ieta=0;ieta<n_etabin;ieta++){
137  sprintf(name ,"profile_pt_dep_%d_eta%d_b%d" ,ihar+1,ieta,ib_imp);
138  sprintf(name1,"v%d vs pT (eta%d);pT;v%d",ihar+1,ieta,ihar+1);
139  m_profile_pt_dep [ihar][ib_imp][ieta]=new TProfile (name,name1,n_ptbin,pt_binvals);
140  hist_vec.push_back(m_profile_pt_dep [ihar][ib_imp][ieta]);
141  }
142 
143  for(int ipt=0;ipt<n_ptbin;ipt++){
144  sprintf(name ,"profile_eta_dep_%d_pt%d_b%d",ihar+1,ipt,ib_imp);
145  sprintf(name1,"v%d vs #eta; (ipt%d)#eta;v%d",ihar+1,ipt,ihar+1);
146  m_profile_eta_dep [ihar][ib_imp][ipt]=new TProfile (name,name1,2*n_etabin, -eta_bin_max,eta_bin_max);
147  hist_vec.push_back(m_profile_eta_dep [ihar][ib_imp][ipt]);
148  }
149 
150 
151  for(int ieta=0;ieta<n_etabin;ieta++){
152  sprintf(name ,"profile_pt_dep_reco_%d_eta%d_b%d",ihar+1,ieta,ib_imp);
153  sprintf(name1,"v%d vs pT (eta%d);pT;v%d",ihar+1,ieta,ihar+1);
154  m_profile_pt_dep_reco [ihar][ib_imp][ieta]=new TProfile (name,name1,n_ptbin,pt_binvals);
155  hist_vec.push_back(m_profile_pt_dep_reco [ihar][ib_imp][ieta]);
156  }
157 
158 
159  for(int ipt=0;ipt<n_ptbin;ipt++){
160  sprintf(name ,"profile_eta_dep_reco_%d_pt%d_b%d",ihar+1,ipt,ib_imp);
161  sprintf(name1,"v%d vs #eta (pt%d);#eta;v%d",ihar+1,ipt,ihar+1);
162  m_profile_eta_dep_reco [ihar][ib_imp][ipt]=new TProfile (name,name1,2*n_etabin, -eta_bin_max,eta_bin_max);
163  hist_vec.push_back(m_profile_eta_dep_reco [ihar][ib_imp][ipt]);
164  }
165  }
166 
167 
168 
169  for(int ipt=0;ipt<n_ptbin;ipt++){
170  for(int ieta=0;ieta<n_etabin;ieta++){
171  sprintf(name ,"profile_b_dep_%d_pt%d_eta%d",ihar+1,ipt,ieta);
172  sprintf(name1,"v%d vs cent ;cent;v%d",ihar+1,ihar+1);
173  m_profile_b_dep [ihar][ipt][ieta]=new TProfile (name,name1,n_b_bins,-0.5,n_b_bins-0.5);
174  hist_vec.push_back(m_profile_b_dep [ihar][ipt][ieta]);
175 
176  sprintf(name ,"profile_b_dep_reco_%d_pt%d_eta%d",ihar+1,ipt,ieta);
177  sprintf(name1,"v%d vs cent ;cent;v%d",ihar+1,ihar+1);
178  m_profile_b_dep_reco [ihar][ipt][ieta]=new TProfile (name,name1,n_b_bins,-0.5,n_b_bins-0.5);
179  hist_vec.push_back(m_profile_b_dep_reco [ihar][ipt][ieta]);
180  }
181  }
182 
183  sprintf(name,"profile_resolution_%d",ihar+1);
184  m_profile_resolution[ihar]=new TProfile(name,"vn resolution;n;resolution",n_b_bins,-0.5,n_b_bins-0.5);
185  hist_vec.push_back(m_profile_resolution[ihar]);
186  }
187 //-----------------------------------------------------------------------------------------
188 
189  for(auto& hist: hist_vec){
190  CHECK(rootHistSvc->regHist(histPath+hist->GetName(),hist));
191  hist->GetXaxis()->CenterTitle();
192  hist->GetYaxis()->CenterTitle();
193  }
194 
195 
196  ATH_MSG_DEBUG("Histograms have been booked ");
198  return result;
199 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ CheckFlow_New_Minbias

CheckFlow_New_Minbias.CheckFlow_New_Minbias = job.CheckFlow_New_Minbias

Definition at line 51 of file CheckFlow_New_Minbias.py.

◆ EvtMax

CheckFlow_New_Minbias.EvtMax

Definition at line 35 of file CheckFlow_New_Minbias.py.

◆ InputCollections

CheckFlow_New_Minbias.InputCollections

Definition at line 13 of file CheckFlow_New_Minbias.py.

◆ job

CheckFlow_New_Minbias.job = AlgSequence()

Definition at line 27 of file CheckFlow_New_Minbias.py.

◆ m_bcut_max

double CheckFlow_New_Minbias::m_bcut_max
private

Definition at line 45 of file CheckFlow_New_Minbias.h.

◆ m_bcut_min

double CheckFlow_New_Minbias::m_bcut_min
private

Definition at line 44 of file CheckFlow_New_Minbias.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_hist_psi_corr_reco

TH1D* CheckFlow_New_Minbias::m_hist_psi_corr_reco[36][n_b_bins]
private

Definition at line 62 of file CheckFlow_New_Minbias.h.

◆ m_hist_psi_corr_true

TH1D* CheckFlow_New_Minbias::m_hist_psi_corr_true[36][n_b_bins]
private

Definition at line 61 of file CheckFlow_New_Minbias.h.

◆ m_hist_Psi_n_ebe

TH1D* CheckFlow_New_Minbias::m_hist_Psi_n_ebe[6][n_b_bins]
private

Definition at line 64 of file CheckFlow_New_Minbias.h.

◆ m_hist_Psi_n_ebe_pt

TH1D* CheckFlow_New_Minbias::m_hist_Psi_n_ebe_pt[6][n_b_bins]
private

Definition at line 65 of file CheckFlow_New_Minbias.h.

◆ m_hist_Psi_n_reco

TH1D* CheckFlow_New_Minbias::m_hist_Psi_n_reco[6][n_b_bins]
private

Definition at line 60 of file CheckFlow_New_Minbias.h.

◆ m_hist_Psi_n_true

TH1D* CheckFlow_New_Minbias::m_hist_Psi_n_true[6][n_b_bins]
private

Definition at line 59 of file CheckFlow_New_Minbias.h.

◆ m_hist_vn_ebe

TH1D* CheckFlow_New_Minbias::m_hist_vn_ebe[6][n_b_bins]
private

Definition at line 66 of file CheckFlow_New_Minbias.h.

◆ m_hist_vn_ebe_ID1

TH1D* CheckFlow_New_Minbias::m_hist_vn_ebe_ID1[6][n_b_bins]
private

Definition at line 67 of file CheckFlow_New_Minbias.h.

◆ m_hist_vn_ebe_ID2

TH1D* CheckFlow_New_Minbias::m_hist_vn_ebe_ID2[6][n_b_bins]
private

Definition at line 68 of file CheckFlow_New_Minbias.h.

◆ m_key

std::string CheckFlow_New_Minbias::m_key
private

Definition at line 41 of file CheckFlow_New_Minbias.h.

◆ m_produceHistogram

bool CheckFlow_New_Minbias::m_produceHistogram
private

Definition at line 42 of file CheckFlow_New_Minbias.h.

◆ m_profile_b_dep

TProfile* CheckFlow_New_Minbias::m_profile_b_dep[6][n_ptbin][n_etabin]
private

Definition at line 75 of file CheckFlow_New_Minbias.h.

◆ m_profile_b_dep_reco

TProfile* CheckFlow_New_Minbias::m_profile_b_dep_reco[6][n_ptbin][n_etabin]
private

Definition at line 76 of file CheckFlow_New_Minbias.h.

◆ m_profile_eta_dep

TProfile* CheckFlow_New_Minbias::m_profile_eta_dep[6][n_b_bins][n_ptbin]
private

Definition at line 71 of file CheckFlow_New_Minbias.h.

◆ m_profile_eta_dep_reco

TProfile* CheckFlow_New_Minbias::m_profile_eta_dep_reco[6][n_b_bins][n_ptbin]
private

Definition at line 73 of file CheckFlow_New_Minbias.h.

◆ m_profile_pt_dep

TProfile* CheckFlow_New_Minbias::m_profile_pt_dep[6][n_b_bins][n_etabin]
private

Definition at line 70 of file CheckFlow_New_Minbias.h.

◆ m_profile_pt_dep_reco

TProfile* CheckFlow_New_Minbias::m_profile_pt_dep_reco[6][n_b_bins][n_etabin]
private

Definition at line 72 of file CheckFlow_New_Minbias.h.

◆ m_profile_resolution

TProfile* CheckFlow_New_Minbias::m_profile_resolution[6]
private

Definition at line 78 of file CheckFlow_New_Minbias.h.

◆ m_ptcut_max

double CheckFlow_New_Minbias::m_ptcut_max
private

Definition at line 47 of file CheckFlow_New_Minbias.h.

◆ m_ptcut_min

double CheckFlow_New_Minbias::m_ptcut_min
private

Definition at line 46 of file CheckFlow_New_Minbias.h.

◆ m_rapcut_max

double CheckFlow_New_Minbias::m_rapcut_max
private

Definition at line 49 of file CheckFlow_New_Minbias.h.

◆ m_rapcut_min

double CheckFlow_New_Minbias::m_rapcut_min
private

Definition at line 48 of file CheckFlow_New_Minbias.h.

◆ m_tesIO

TruthHelper::GenAccessIO* CheckFlow_New_Minbias::m_tesIO
private

Definition at line 81 of file CheckFlow_New_Minbias.h.

◆ m_thistSvc

ITHistSvc* CheckFlow_New_Minbias::m_thistSvc
private

Definition at line 80 of file CheckFlow_New_Minbias.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ McEventKey

CheckFlow_New_Minbias.McEventKey

Definition at line 52 of file CheckFlow_New_Minbias.py.

◆ Output

CheckFlow_New_Minbias.Output

Definition at line 44 of file CheckFlow_New_Minbias.py.

◆ OutputLevel

CheckFlow_New_Minbias.OutputLevel

Definition at line 36 of file CheckFlow_New_Minbias.py.

◆ RapidityCutMax

CheckFlow_New_Minbias.RapidityCutMax

Definition at line 53 of file CheckFlow_New_Minbias.py.


The documentation for this class was generated from the following files:
CheckFlow_New_Minbias::m_rapcut_min
double m_rapcut_min
Definition: CheckFlow_New_Minbias.h:48
CheckFlow_New_Minbias::m_hist_vn_ebe_ID1
TH1D * m_hist_vn_ebe_ID1[6][n_b_bins]
Definition: CheckFlow_New_Minbias.h:67
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ReadCellNoiseFromCool.name1
name1
Definition: ReadCellNoiseFromCool.py:233
get_generator_info.result
result
Definition: get_generator_info.py:21
CheckFlow_New_Minbias::m_hist_Psi_n_reco
TH1D * m_hist_Psi_n_reco[6][n_b_bins]
Definition: CheckFlow_New_Minbias.h:60
CheckFlow_New_Minbias::n_etabin
@ n_etabin
Definition: CheckFlow_New_Minbias.h:54
CheckFlow_New_Minbias::m_hist_psi_corr_reco
TH1D * m_hist_psi_corr_reco[36][n_b_bins]
Definition: CheckFlow_New_Minbias.h:62
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
CheckFlow_New_Minbias::m_profile_resolution
TProfile * m_profile_resolution[6]
Definition: CheckFlow_New_Minbias.h:78
CheckFlow_New_Minbias::m_bcut_max
double m_bcut_max
Definition: CheckFlow_New_Minbias.h:45
CheckFlow_New_Minbias::m_profile_eta_dep
TProfile * m_profile_eta_dep[6][n_b_bins][n_ptbin]
Definition: CheckFlow_New_Minbias.h:71
CheckFlow_New_Minbias::m_hist_Psi_n_ebe
TH1D * m_hist_Psi_n_ebe[6][n_b_bins]
Definition: CheckFlow_New_Minbias.h:64
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
plotmaker.hist
hist
Definition: plotmaker.py:148
test_pyathena.pt
pt
Definition: test_pyathena.py:11
M_PI
#define M_PI
Definition: ActiveFraction.h:11
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
PlotCalibFromCool.ib
ib
Definition: PlotCalibFromCool.py:419
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
HijingEventParams::get_psi
float get_psi(int n) const
Definition: HijingEventParams.h:95
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
CheckFlow_New_Minbias::m_profile_b_dep
TProfile * m_profile_b_dep[6][n_ptbin][n_etabin]
Definition: CheckFlow_New_Minbias.h:75
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
CheckFlow_New_Minbias::m_hist_psi_corr_true
TH1D * m_hist_psi_corr_true[36][n_b_bins]
Definition: CheckFlow_New_Minbias.h:61
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
python.TrigEgammaMonitorHelper.TProfile
def TProfile(*args, **kwargs)
Definition: TrigEgammaMonitorHelper.py:81
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
HijingEventParams
Definition: HijingEventParams.h:23
CheckFlow_New_Minbias::n_ptbin
@ n_ptbin
Definition: CheckFlow_New_Minbias.h:53
ParticleGun_EoverP_Config.pid
pid
Definition: ParticleGun_EoverP_Config.py:62
CheckFlow_New_Minbias::m_ptcut_max
double m_ptcut_max
Definition: CheckFlow_New_Minbias.h:47
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
TruthHelper::GenAccessIO::getMC
StatusCode getMC(MCParticleCollection &mcParticles, const bool ifgen=false, const std::string &key="GEN_EVENT") const
Definition: Generators/FlowAfterburner/FlowAfterburner/GenAccessIO.h:29
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CheckFlow_New_Minbias::m_profile_b_dep_reco
TProfile * m_profile_b_dep_reco[6][n_ptbin][n_etabin]
Definition: CheckFlow_New_Minbias.h:76
CheckFlow_New_Minbias::m_profile_eta_dep_reco
TProfile * m_profile_eta_dep_reco[6][n_b_bins][n_ptbin]
Definition: CheckFlow_New_Minbias.h:73
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
CheckFlow_New_Minbias::n_b_bins
@ n_b_bins
Definition: CheckFlow_New_Minbias.h:55
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TruthHelper::GenAccessIO
Definition: Generators/FlowAfterburner/FlowAfterburner/GenAccessIO.h:21
CheckFlow_New_Minbias::m_ptcut_min
double m_ptcut_min
Definition: CheckFlow_New_Minbias.h:46
CheckFlow_New_Minbias::m_key
std::string m_key
Definition: CheckFlow_New_Minbias.h:41
HijingEventParams::get_b
float get_b() const
Definition: HijingEventParams.h:91
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
CheckFlow_New_Minbias::m_hist_Psi_n_true
TH1D * m_hist_Psi_n_true[6][n_b_bins]
Definition: CheckFlow_New_Minbias.h:59
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CheckFlow_New_Minbias::m_profile_pt_dep
TProfile * m_profile_pt_dep[6][n_b_bins][n_etabin]
Definition: CheckFlow_New_Minbias.h:70
CheckFlow_New_Minbias::m_profile_pt_dep_reco
TProfile * m_profile_pt_dep_reco[6][n_b_bins][n_etabin]
Definition: CheckFlow_New_Minbias.h:72
LArG4FSStartPointFilter.particles
list particles
Definition: LArG4FSStartPointFilter.py:84
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
CheckFlow_New_Minbias::m_tesIO
TruthHelper::GenAccessIO * m_tesIO
Definition: CheckFlow_New_Minbias.h:81
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
CheckFlow_New_Minbias::m_rapcut_max
double m_rapcut_max
Definition: CheckFlow_New_Minbias.h:49
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
CheckFlow_New_Minbias::m_hist_Psi_n_ebe_pt
TH1D * m_hist_Psi_n_ebe_pt[6][n_b_bins]
Definition: CheckFlow_New_Minbias.h:65
CheckFlow_New_Minbias::m_hist_vn_ebe_ID2
TH1D * m_hist_vn_ebe_ID2[6][n_b_bins]
Definition: CheckFlow_New_Minbias.h:68
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ITHistSvc >
CheckFlow_New_Minbias::m_hist_vn_ebe
TH1D * m_hist_vn_ebe[6][n_b_bins]
Definition: CheckFlow_New_Minbias.h:66