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

#include <CheckFlow_New.h>

Inheritance diagram for CheckFlow_New:
Collaboration diagram for CheckFlow_New:

Public Member Functions

 CheckFlow_New (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 = job.CheckFlow_New
 
 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 }
 
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
 
TH1Dm_hist_Psi_n_true [6]
 
TH1Dm_hist_Psi_n_reco [6]
 
TH1Dm_hist_psi_corr_true [36]
 
TH1Dm_hist_psi_corr_reco [36]
 
TH1Dm_hist_Psi_n_ebe [6]
 
TH1Dm_hist_Psi_n_ebe_pt [6]
 
TH1Dm_hist_vn_ebe [6]
 
TProfilem_profile_pt_dep [6][n_etabin]
 
TProfilem_profile_eta_dep [6][n_ptbin]
 
TProfilem_profile_pt_dep_reco [6][n_etabin]
 
TProfilem_profile_eta_dep_reco [6][n_ptbin]
 
TProfilem_profile_resolution
 
StoreGateSvcm_sgSvc
 
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 29 of file CheckFlow_New.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 

Definition at line 47 of file CheckFlow_New.h.

47  {
48  n_ptbin=16,
49  n_etabin=8
50  };

Constructor & Destructor Documentation

◆ CheckFlow_New()

CheckFlow_New::CheckFlow_New ( 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::execute ( )

Definition at line 240 of file CheckFlow_New.cxx.

240  {
241  msg(MSG::INFO) << ">>> CheckFlow_New from execute" << endmsg;
242 
243  float pt_binvals[n_ptbin+1]={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};
244  float eta_bin_max = 4.0;
245 
246  const HijingEventParams *hijing_pars;
247 
248 
249  if ( m_sgSvc->retrieve(hijing_pars, "Hijing_event_params").isFailure() ) {
250  msg(MSG::ERROR) << "Could not retrieve Hijing_event_params"<< endmsg;
251  return StatusCode::FAILURE;
252  }
253 
254  float b = hijing_pars->get_b();
255  float Psi_n[6],Psi_n_reco[6];
256  float Psi_n_reco_pos[6],Psi_n_reco_neg[6];
257  for(int ihar=0;ihar<6;ihar++){Psi_n[ihar]=hijing_pars->get_psi(ihar+1);}
258  msg(MSG::INFO)<<"SOUMYA "<<hijing_pars->get_psi(1)<<" "<<hijing_pars->get_psi(2)<<" "<<hijing_pars->get_psi(3)
259  <<hijing_pars->get_psi(4)<<" "<<hijing_pars->get_psi(5)<<" "<<hijing_pars->get_psi(6)<<" "<<b << endmsg;
260 
261 
262  // Check cut on impact parameter b
263  if(b<m_bcut_min || b>m_bcut_max) return StatusCode::SUCCESS;
264 
265 
266  double ngenerated_pos = 0,ngenerated_pt_pos=0;
267  double cos_n_pos[6],sin_n_pos[6],cos_n_pt_pos[6],sin_n_pt_pos[6];
268  double ngenerated_neg = 0,ngenerated_pt_neg=0;
269  double cos_n_neg[6],sin_n_neg[6],cos_n_pt_neg[6],sin_n_pt_neg[6];
270  for(int ihar=0;ihar<6;ihar++){cos_n_pos[ihar]=0;sin_n_pos[ihar]=0; cos_n_pt_pos[ihar]=0;sin_n_pt_pos[ihar]=0;
271  cos_n_neg[ihar]=0;sin_n_neg[ihar]=0; cos_n_pt_neg[ihar]=0;sin_n_pt_neg[ihar]=0;}
272 
273  // Iterate over all MC particles
274  std::vector<HepMC::ConstGenParticlePtr> particles;
276  if (stat.isFailure()) {
277  msg(MSG::ERROR) << "Could not find " << m_key << endmsg;
278  return stat;
279  }
280  for (auto pitr: particles) {
281  int pid = pitr->pdg_id();
282  double pt = pitr->momentum().perp();
283  double rapid = pitr->momentum().pseudoRapidity();
284  double phi = pitr->momentum().phi();
285  msg(MSG::DEBUG)
286  << " PID = " << pid << " Status = " << pitr->status()
287  << " Eta = " << rapid << " Phi = " << phi<< endmsg;
288 
289  if( (std::abs(rapid) >= m_rapcut_min) && (std::abs(rapid) <= m_rapcut_max) &&
290  (std::abs(pt) >= m_ptcut_min) && (std::abs(pt) <= m_ptcut_max) ) {
291 
292  for(int ihar=0;ihar<6;ihar++){
293  float temp=(ihar+1)*(phi-Psi_n[ihar]);
294 
295  int ieta= (int)(std::abs(rapid)*n_etabin/eta_bin_max);
296  if(ieta>=0 && ieta<n_etabin) m_profile_pt_dep [ihar][ieta]->Fill(pt/1000,cos(temp));
297 
298 
299  float temp_pt=pt/1000;
300  for(int ipt=0;ipt<n_ptbin;ipt++){
301  if(temp_pt<pt_binvals[ipt+1]){
302  m_profile_eta_dep[ihar][ipt]->Fill(rapid ,cos(temp));
303  break;
304  }
305  }
306 
307  if( rapid >3.2 && rapid< 4.9){
308  cos_n_pos[ihar]+=std::cos( (ihar+1)*phi);
309  sin_n_pos[ihar]+=std::sin( (ihar+1)*phi);
310  ngenerated_pos++;
311 
312  cos_n_pt_pos[ihar]+=pt*std::cos( (ihar+1)*phi);
313  sin_n_pt_pos[ihar]+=pt*std::sin( (ihar+1)*phi);
314  ngenerated_pt_pos +=pt;
315  }
316  if( rapid <-3.2 && rapid >-4.9){
317  cos_n_neg[ihar]+=std::cos( (ihar+1)*phi);
318  sin_n_neg[ihar]+=std::sin( (ihar+1)*phi);
319  ngenerated_neg++;
320 
321  cos_n_pt_neg[ihar]+=pt*std::cos( (ihar+1)*phi);
322  sin_n_pt_neg[ihar]+=pt*std::sin( (ihar+1)*phi);
323  ngenerated_pt_neg +=pt;
324  }
325 
326  }
327  }
328  }
329 
330 
331 // Calculate the event by event vn and also the reconstructed Psi_n angles
332 // Also make correlation histos between Psi_n_truth and Psi_n_reco
333  float cos_n[6],sin_n[6],cos_n_pt[6],sin_n_pt[6];
334  for(int ihar=0;ihar<6;ihar++){
335  cos_n[ihar] = ( cos_n_pos[ihar]+ cos_n_neg[ihar] ) / (ngenerated_pos+ngenerated_neg);
336  sin_n[ihar] = ( sin_n_pos[ihar]+ sin_n_neg[ihar] ) / (ngenerated_pos+ngenerated_neg);
337 
338  float psi_reco=std::atan2(sin_n[ihar],cos_n[ihar])/(ihar+1);
339  m_hist_Psi_n_ebe[ihar]->Fill( (ihar+1)*(psi_reco-Psi_n[ihar]) );
340  m_hist_vn_ebe [ihar]->Fill(std::sqrt(cos_n[ihar]*cos_n[ihar] +sin_n[ihar]*sin_n[ihar] ));
341 
342  Psi_n_reco_pos[ihar]=std::atan2(sin_n_pos[ihar],cos_n_pos[ihar])/ (ihar+1);
343  Psi_n_reco_neg[ihar]=std::atan2(sin_n_neg[ihar],cos_n_neg[ihar])/ (ihar+1);
344  Psi_n_reco [ihar]=psi_reco;
345 
346 
347  cos_n_pt[ihar] = ( cos_n_pt_pos[ihar]+ cos_n_pt_neg[ihar] ) / (ngenerated_pt_pos+ngenerated_pt_neg);
348  sin_n_pt[ihar] = ( sin_n_pt_pos[ihar]+ sin_n_pt_neg[ihar] ) / (ngenerated_pt_pos+ngenerated_pt_neg);
349 
350  psi_reco=std::atan2(sin_n_pt[ihar],cos_n_pt[ihar])/(ihar+1);
351  m_hist_Psi_n_ebe_pt[ihar]->Fill( (ihar+1)*(psi_reco-Psi_n[ihar]) );
352  }
353 
354 
355 // Make the plots for the correlation between Psi_n truth (for different n) (same for Psi_n reco)
356  for(int ihar=0;ihar<6;ihar++){
357  m_hist_Psi_n_true[ihar]->Fill((ihar+1)*Psi_n[ihar]);
358  m_hist_Psi_n_reco[ihar]->Fill((ihar+1)*Psi_n_reco[ihar]);
359 
360  float psi1,psi2;
361  for(int ihar2=0;ihar2<6;ihar2++){
362  psi1=(ihar+1)*Psi_n[ihar];psi2=(ihar2+1)*Psi_n[ihar2];
363  m_hist_psi_corr_true[ihar*6+ihar2]->Fill( std::atan2( std::sin(psi1-psi2),std::cos(psi1-psi2) ) );
364 
365  psi1=(ihar+1)*Psi_n_reco[ihar];psi2=(ihar2+1)*Psi_n_reco[ihar2];
366  m_hist_psi_corr_reco[ihar*6+ihar2]->Fill( std::atan2( std::sin(psi1-psi2),std::cos(psi1-psi2) ) );
367  }
368  }
369 
370 
371 
372 
373 
374 // calculate the pt and eta dependence using the Psi_reco angles also fill the resolution TProfile
375  for(int ihar=0;ihar<6;ihar++){
376  m_profile_resolution->Fill( ihar+1, cos( (ihar+1) * (Psi_n_reco_pos[ihar] - Psi_n_reco_neg[ihar]) ) );
377  }
378  for (auto pitr: particles) {
379  double pt = pitr->momentum().perp();
380  double rapid = pitr->momentum().pseudoRapidity();
381  double phi = pitr->momentum().phi();
382  if( (std::abs(rapid) >= m_rapcut_min) && (std::abs(rapid) <= m_rapcut_max) &&
383  (std::abs(pt) >= m_ptcut_min) && (std::abs(pt) <= m_ptcut_max) ) {
384 
385  for(int ihar=0;ihar<6;ihar++){
386  float temp=(ihar+1)*(phi-Psi_n_reco_pos[ihar]);
387  if(rapid>0) temp=(ihar+1)*(phi-Psi_n_reco_neg[ihar]);
388 
389 
390  int ieta= (int)(std::abs(rapid)*n_etabin/eta_bin_max);
391  if(ieta>=0 && ieta<n_etabin) m_profile_pt_dep_reco [ihar][ieta]->Fill(pt/1000,std::cos(temp));
392 
393  float temp_pt=pt/1000;
394  for(int ipt=0;ipt<n_ptbin;ipt++){
395  if(temp_pt<pt_binvals[ipt+1]){
396  m_profile_eta_dep_reco[ihar][ipt]->Fill(rapid ,cos(temp));
397  break;
398  }
399  }
400  }
401  }
402  }
403 
404 
405 
406 
407 
408  return StatusCode::SUCCESS;
409 }

◆ 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::finalize ( )

Definition at line 411 of file CheckFlow_New.cxx.

411  {
412  msg(MSG::INFO) << ">>> CheckFlow_New from finalize" << endmsg;
413 
414  return StatusCode::SUCCESS;
415 }

◆ initialize()

StatusCode CheckFlow_New::initialize ( )

Definition at line 74 of file CheckFlow_New.cxx.

74  {
75  StatusCode result = StatusCode::SUCCESS;
76 
77  msg(MSG::INFO) << ">>> CheckFlow_New from Initialize" << endmsg;
78 
79  float pt_binvals[n_ptbin+1]={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};
80  float eta_bin_max = 4.0;
81 
82 
83  StatusCode sc = service("StoreGateSvc", m_sgSvc);
84  if (sc.isFailure()) {
85  msg(MSG::ERROR) << "Could not find StoreGateSvc" << endmsg;
86  return sc;
87  }
88 
89 
90  ITHistSvc *rootHistSvc;
91  if (!service("THistSvc", rootHistSvc, true).isSuccess()) {
92  msg(MSG::ERROR) << "Unable to locate THistSvc" << endmsg;
93  return StatusCode::FAILURE;
94  }
95 
96  std::string StreamAndPath="/FlowOutPut/";
97  std::string histPath = StreamAndPath;
98  char name[100],name1[100];
99  for (int ihar=0;ihar<6;ihar++){
100 
101 // /*
102  sprintf(name,"hist_Psi_%d_true",ihar+1);
103  sprintf(name1,"Truth Psi_{%d} distribution;%dPsi_{%d} Truth;events",ihar+1,ihar+1,ihar+1);
104  m_hist_Psi_n_true [ihar]=new TH1D (name,name1,1000,-M_PI,M_PI);
105  if ( rootHistSvc->regHist(histPath+m_hist_Psi_n_true[ihar]->GetName(),m_hist_Psi_n_true[ihar]).isFailure() ){
106  msg(MSG::WARNING) << "Can't book "<< histPath+m_hist_Psi_n_true[ihar]->GetName() << endmsg;
107  }
108  m_hist_Psi_n_true[ihar]->GetXaxis()->CenterTitle();
109  m_hist_Psi_n_true[ihar]->GetYaxis()->CenterTitle();
110 
111  sprintf(name,"hist_Psi_%d_reco",ihar+1);
112  sprintf(name1,"Reconstructed Psi_{%d} distribution;%dPsi_{%d} Reco;events",ihar+1,ihar+1,ihar+1);
113  m_hist_Psi_n_reco [ihar]=new TH1D (name,name1,1000,-M_PI,M_PI);
114  if ( rootHistSvc->regHist(histPath+m_hist_Psi_n_reco[ihar]->GetName(),m_hist_Psi_n_reco[ihar]).isFailure() ){
115  msg(MSG::WARNING) << "Can't book "<< histPath+m_hist_Psi_n_reco[ihar]->GetName() << endmsg;
116  }
117  m_hist_Psi_n_reco[ihar]->GetXaxis()->CenterTitle();
118  m_hist_Psi_n_reco[ihar]->GetYaxis()->CenterTitle();
119 
120 
121  for (int ihar2=0;ihar2<6;ihar2++)
122  {
123  int ihar_i=ihar*6+ihar2;
124 
125  sprintf(name,"hist_Psi_corr_true_%d_%d",ihar+1,ihar2+1);
126  sprintf(name1,"true Psi_{%d} -Psi_{%d};%dPsi_{%d} -%dPsi_{%d} ;events",ihar+1,ihar2+1,ihar+1,ihar+1,ihar2+1,ihar2+1);
127  m_hist_psi_corr_true [ihar_i]=new TH1D (name,name1,1000,-2*M_PI,2*M_PI);
128  if ( rootHistSvc->regHist(histPath+m_hist_psi_corr_true[ihar_i]->GetName(),m_hist_psi_corr_true[ihar_i]).isFailure() ){
129  msg(MSG::WARNING) << "Can't book "<< histPath+m_hist_psi_corr_true[ihar_i]->GetName() << endmsg;
130  }
131  m_hist_psi_corr_true[ihar_i]->GetXaxis()->CenterTitle();
132  m_hist_psi_corr_true[ihar_i]->GetYaxis()->CenterTitle();
133 
134 
135  sprintf(name,"hist_Psi_corr_reco_%d_%d",ihar+1,ihar2+1);
136  sprintf(name1,"reco Psi_{%d} -Psi_{%d};%dPsi_{%d} -%dPsi_{%d} ;events",ihar+1,ihar2+1,ihar+1,ihar+1,ihar2+1,ihar2+1);
137  m_hist_psi_corr_reco [ihar_i]=new TH1D (name,name1,1000,-2*M_PI,2*M_PI);
138  if ( rootHistSvc->regHist(histPath+m_hist_psi_corr_reco[ihar_i]->GetName(),m_hist_psi_corr_reco[ihar_i]).isFailure() ){
139  msg(MSG::WARNING) << "Can't book "<< histPath+m_hist_psi_corr_reco[ihar_i]->GetName() << endmsg;
140  }
141  m_hist_psi_corr_reco[ihar_i]->GetXaxis()->CenterTitle();
142  m_hist_psi_corr_reco[ihar_i]->GetYaxis()->CenterTitle();
143  }
144 
145 
146 
147  //integrated vn event by event
148  sprintf(name,"hist_v%d_ebe",ihar+1);
149  sprintf(name1,"v%d;v%d;events",ihar+1,ihar+1);
150  m_hist_vn_ebe [ihar]=new TH1D (name,name1,1000,-0.5,0.5);
151  if ( rootHistSvc->regHist(histPath+m_hist_vn_ebe[ihar]->GetName(),m_hist_vn_ebe[ihar]).isFailure() ){
152  msg(MSG::WARNING) << "Can't book "<< histPath+m_hist_vn_ebe[ihar]->GetName() << endmsg;
153  }
154  m_hist_vn_ebe[ihar]->GetXaxis()->CenterTitle();
155  m_hist_vn_ebe[ihar]->GetYaxis()->CenterTitle();
156 
157  sprintf(name ,"hist_Psi%d_ebe",ihar+1);
158  sprintf(name1,"%d#Delta#Psi;%d(#Psi_{reco}-#Psi_{Truth});events",ihar+1,ihar+1);
159  m_hist_Psi_n_ebe [ihar]=new TH1D (name,name1,1000,-M_PI,M_PI);
160  if ( rootHistSvc->regHist(histPath+m_hist_Psi_n_ebe[ihar]->GetName(),m_hist_Psi_n_ebe[ihar]).isFailure() ){
161  msg(MSG::WARNING) << "Can't book "<< histPath+m_hist_Psi_n_ebe[ihar]->GetName() << endmsg;
162  }
163  m_hist_Psi_n_ebe[ihar]->GetXaxis()->CenterTitle();
164  m_hist_Psi_n_ebe[ihar]->GetYaxis()->CenterTitle();
165 
166  sprintf(name ,"hist_Psi%d_ebe_pt",ihar+1);
167  sprintf(name1,"%d#Delta#Psi (pT weighted);%d(#Psi_{reco}-#Psi_{Truth});events",ihar+1,ihar+1);
168  m_hist_Psi_n_ebe_pt [ihar]=new TH1D (name,name1,1000,-M_PI,M_PI);
169  if ( rootHistSvc->regHist(histPath+m_hist_Psi_n_ebe_pt[ihar]->GetName(),m_hist_Psi_n_ebe_pt[ihar]).isFailure() ){
170  msg(MSG::WARNING) << "Can't book "<< histPath+m_hist_Psi_n_ebe_pt[ihar]->GetName() << endmsg;
171  }
172  m_hist_Psi_n_ebe_pt[ihar]->GetXaxis()->CenterTitle();
173  m_hist_Psi_n_ebe_pt[ihar]->GetYaxis()->CenterTitle();
174 
175 
176 
177 
178 
179 
180  for(int ieta=0;ieta<n_etabin;ieta++){
181  sprintf(name ,"profile_pt_dep_%d_eta%d" ,ihar+1,ieta);
182  sprintf(name1,"v%d vs pT (eta%d);pT;v%d",ihar+1,ieta,ihar+1);
183  m_profile_pt_dep [ihar][ieta]=new TProfile (name,name1,n_ptbin,pt_binvals);
184  if ( rootHistSvc->regHist(histPath+m_profile_pt_dep[ihar][ieta]->GetName(),m_profile_pt_dep[ihar][ieta]).isFailure() ){
185  msg(MSG::WARNING) << "Can't book "<< histPath+m_profile_pt_dep[ihar][ieta]->GetName() << endmsg;
186  }
187  m_profile_pt_dep [ihar][ieta]->GetXaxis()->CenterTitle();
188  m_profile_pt_dep [ihar][ieta]->GetYaxis()->CenterTitle();
189  }
190 
191  for(int ipt=0;ipt<n_ptbin;ipt++){
192  sprintf(name ,"profile_eta_dep_%d_pt%d",ihar+1,ipt);
193  sprintf(name1,"v%d vs #eta; (ipt%d)#eta;v%d",ihar+1,ipt,ihar+1);
194  m_profile_eta_dep [ihar][ipt]=new TProfile (name,name1,2*n_etabin, -eta_bin_max,eta_bin_max);
195  if ( rootHistSvc->regHist(histPath+m_profile_eta_dep[ihar][ipt]->GetName(),m_profile_eta_dep[ihar][ipt]).isFailure() ){
196  msg(MSG::WARNING) << "Can't book "<< histPath+m_profile_eta_dep[ihar][ipt]->GetName() << endmsg;
197  }
198  m_profile_eta_dep [ihar][ipt]->GetXaxis()->CenterTitle();
199  m_profile_eta_dep [ihar][ipt]->GetYaxis()->CenterTitle();
200  }
201 
202 
203  for(int ieta=0;ieta<n_etabin;ieta++){
204  sprintf(name ,"profile_pt_dep_reco_%d_eta%d",ihar+1,ieta);
205  sprintf(name1,"v%d vs pT (eta%d);pT;v%d",ihar+1,ieta,ihar+1);
206  m_profile_pt_dep_reco [ihar][ieta]=new TProfile (name,name1,n_ptbin,pt_binvals);
207  if ( rootHistSvc->regHist(histPath+m_profile_pt_dep_reco[ihar][ieta]->GetName(),m_profile_pt_dep_reco[ihar][ieta]).isFailure() ){
208  msg(MSG::WARNING) << "Can't book "<< histPath+m_profile_pt_dep_reco[ihar][ieta]->GetName() << endmsg;
209  }
210  m_profile_pt_dep_reco [ihar][ieta]->GetXaxis()->CenterTitle();
211  m_profile_pt_dep_reco [ihar][ieta]->GetYaxis()->CenterTitle();
212  }
213 
214 
215  for(int ipt=0;ipt<n_ptbin;ipt++){
216  sprintf(name ,"profile_eta_dep_reco_%d_pt%d",ihar+1,ipt);
217  sprintf(name1,"v%d vs #eta (pt%d);#eta;v%d",ihar+1,ipt,ihar+1);
218  m_profile_eta_dep_reco [ihar][ipt]=new TProfile (name,name1,2*n_etabin, -eta_bin_max,eta_bin_max);
219  if ( rootHistSvc->regHist(histPath+m_profile_eta_dep_reco[ihar][ipt]->GetName(),m_profile_eta_dep_reco[ihar][ipt]).isFailure() ){
220  msg(MSG::WARNING) << "Can't book "<< histPath+m_profile_eta_dep_reco[ihar][ipt]->GetName() << endmsg;
221  }
222  m_profile_eta_dep_reco [ihar][ipt]->GetXaxis()->CenterTitle();
223  m_profile_eta_dep_reco [ihar][ipt]->GetYaxis()->CenterTitle();
224  }
225 
226 
227  }
228  m_profile_resolution=new TProfile("profile_resolution","vn resolution;n;resolution",6, 0.5,6.5);
229  if(rootHistSvc->regHist(histPath+m_profile_resolution->GetName(),m_profile_resolution).isFailure() ){
230  msg(MSG::WARNING) << "Can't book "<< histPath+m_profile_resolution->GetName() << endmsg;
231  }
232 
233  msg(MSG::DEBUG) << "Histograms have been booked " << endmsg;
235  return result;
236 }

◆ 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

CheckFlow_New.CheckFlow_New = job.CheckFlow_New
Todo:
Migrate to a GenBase class or at least AthAlgorithm

Definition at line 54 of file CheckFlow_New.py.

◆ EvtMax

CheckFlow_New.EvtMax

Definition at line 38 of file CheckFlow_New.py.

◆ InputCollections

CheckFlow_New.InputCollections

Definition at line 16 of file CheckFlow_New.py.

◆ job

CheckFlow_New.job = AlgSequence()

Definition at line 30 of file CheckFlow_New.py.

◆ m_bcut_max

double CheckFlow_New::m_bcut_max
private

Definition at line 41 of file CheckFlow_New.h.

◆ m_bcut_min

double CheckFlow_New::m_bcut_min
private

Definition at line 40 of file CheckFlow_New.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::m_hist_psi_corr_reco[36]
private

Definition at line 56 of file CheckFlow_New.h.

◆ m_hist_psi_corr_true

TH1D* CheckFlow_New::m_hist_psi_corr_true[36]
private

Definition at line 55 of file CheckFlow_New.h.

◆ m_hist_Psi_n_ebe

TH1D* CheckFlow_New::m_hist_Psi_n_ebe[6]
private

Definition at line 58 of file CheckFlow_New.h.

◆ m_hist_Psi_n_ebe_pt

TH1D* CheckFlow_New::m_hist_Psi_n_ebe_pt[6]
private

Definition at line 59 of file CheckFlow_New.h.

◆ m_hist_Psi_n_reco

TH1D* CheckFlow_New::m_hist_Psi_n_reco[6]
private

Definition at line 54 of file CheckFlow_New.h.

◆ m_hist_Psi_n_true

TH1D* CheckFlow_New::m_hist_Psi_n_true[6]
private

Definition at line 53 of file CheckFlow_New.h.

◆ m_hist_vn_ebe

TH1D* CheckFlow_New::m_hist_vn_ebe[6]
private

Definition at line 60 of file CheckFlow_New.h.

◆ m_key

std::string CheckFlow_New::m_key
private

Definition at line 37 of file CheckFlow_New.h.

◆ m_produceHistogram

bool CheckFlow_New::m_produceHistogram
private

Definition at line 38 of file CheckFlow_New.h.

◆ m_profile_eta_dep

TProfile* CheckFlow_New::m_profile_eta_dep[6][n_ptbin]
private

Definition at line 63 of file CheckFlow_New.h.

◆ m_profile_eta_dep_reco

TProfile* CheckFlow_New::m_profile_eta_dep_reco[6][n_ptbin]
private

Definition at line 65 of file CheckFlow_New.h.

◆ m_profile_pt_dep

TProfile* CheckFlow_New::m_profile_pt_dep[6][n_etabin]
private

Definition at line 62 of file CheckFlow_New.h.

◆ m_profile_pt_dep_reco

TProfile* CheckFlow_New::m_profile_pt_dep_reco[6][n_etabin]
private

Definition at line 64 of file CheckFlow_New.h.

◆ m_profile_resolution

TProfile* CheckFlow_New::m_profile_resolution
private

Definition at line 67 of file CheckFlow_New.h.

◆ m_ptcut_max

double CheckFlow_New::m_ptcut_max
private

Definition at line 43 of file CheckFlow_New.h.

◆ m_ptcut_min

double CheckFlow_New::m_ptcut_min
private

Definition at line 42 of file CheckFlow_New.h.

◆ m_rapcut_max

double CheckFlow_New::m_rapcut_max
private

Definition at line 45 of file CheckFlow_New.h.

◆ m_rapcut_min

double CheckFlow_New::m_rapcut_min
private

Definition at line 44 of file CheckFlow_New.h.

◆ m_sgSvc

StoreGateSvc* CheckFlow_New::m_sgSvc
private

Definition at line 69 of file CheckFlow_New.h.

◆ m_tesIO

TruthHelper::GenAccessIO* CheckFlow_New::m_tesIO
private

Definition at line 71 of file CheckFlow_New.h.

◆ m_thistSvc

ITHistSvc* CheckFlow_New::m_thistSvc
private

Definition at line 70 of file CheckFlow_New.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.McEventKey

Definition at line 55 of file CheckFlow_New.py.

◆ Output

CheckFlow_New.Output

Definition at line 47 of file CheckFlow_New.py.

◆ OutputLevel

CheckFlow_New.OutputLevel

Definition at line 39 of file CheckFlow_New.py.

◆ RapidityCutMax

CheckFlow_New.RapidityCutMax

Definition at line 56 of file CheckFlow_New.py.


The documentation for this class was generated from the following files:
CheckFlow_New::m_profile_eta_dep_reco
TProfile * m_profile_eta_dep_reco[6][n_ptbin]
Definition: CheckFlow_New.h:65
CheckFlow_New::m_tesIO
TruthHelper::GenAccessIO * m_tesIO
Definition: CheckFlow_New.h:71
CheckFlow_New::m_key
std::string m_key
Definition: CheckFlow_New.h:37
ReadCellNoiseFromCool.name1
name1
Definition: ReadCellNoiseFromCool.py:233
get_generator_info.result
result
Definition: get_generator_info.py:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:64
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
CheckFlow_New::m_hist_psi_corr_reco
TH1D * m_hist_psi_corr_reco[36]
Definition: CheckFlow_New.h:56
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
TH1D
Definition: rootspy.cxx:342
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
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
CheckFlow_New::m_profile_resolution
TProfile * m_profile_resolution
Definition: CheckFlow_New.h:67
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
CheckFlow_New::m_hist_Psi_n_ebe
TH1D * m_hist_Psi_n_ebe[6]
Definition: CheckFlow_New.h:58
CheckFlow_New::m_rapcut_min
double m_rapcut_min
Definition: CheckFlow_New.h:44
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
CheckFlow_New::m_rapcut_max
double m_rapcut_max
Definition: CheckFlow_New.h:45
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
CheckFlow_New::m_hist_Psi_n_true
TH1D * m_hist_Psi_n_true[6]
Definition: CheckFlow_New.h:53
StoreGateSvc::retrieve
StatusCode retrieve(const T *&ptr) const
Retrieve the default object into a const T*.
CheckFlow_New::m_ptcut_max
double m_ptcut_max
Definition: CheckFlow_New.h:43
CheckFlow_New::m_profile_pt_dep_reco
TProfile * m_profile_pt_dep_reco[6][n_etabin]
Definition: CheckFlow_New.h:64
CheckFlow_New::m_hist_Psi_n_ebe_pt
TH1D * m_hist_Psi_n_ebe_pt[6]
Definition: CheckFlow_New.h:59
CheckFlow_New::m_profile_pt_dep
TProfile * m_profile_pt_dep[6][n_etabin]
Definition: CheckFlow_New.h:62
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
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CheckFlow_New::m_bcut_max
double m_bcut_max
Definition: CheckFlow_New.h:41
HijingEventParams
Definition: HijingEventParams.h:23
CheckFlow_New::n_ptbin
@ n_ptbin
Definition: CheckFlow_New.h:48
ParticleGun_EoverP_Config.pid
pid
Definition: ParticleGun_EoverP_Config.py:62
TruthHelper::GenAccessIO::getMC
StatusCode getMC(MCParticleCollection &mcParticles, const bool ifgen=false, const std::string &key="GEN_EVENT") const
Definition: Generators/FlowAfterburner/FlowAfterburner/GenAccessIO.h:32
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
CheckFlow_New::m_ptcut_min
double m_ptcut_min
Definition: CheckFlow_New.h:42
beamspotman.stat
stat
Definition: beamspotman.py:266
CheckFlow_New::m_profile_eta_dep
TProfile * m_profile_eta_dep[6][n_ptbin]
Definition: CheckFlow_New.h:63
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
CheckFlow_New::m_hist_vn_ebe
TH1D * m_hist_vn_ebe[6]
Definition: CheckFlow_New.h:60
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
CheckFlow_New::m_hist_psi_corr_true
TH1D * m_hist_psi_corr_true[36]
Definition: CheckFlow_New.h:55
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TruthHelper::GenAccessIO
Definition: Generators/FlowAfterburner/FlowAfterburner/GenAccessIO.h:24
CheckFlow_New::m_hist_Psi_n_reco
TH1D * m_hist_Psi_n_reco[6]
Definition: CheckFlow_New.h:54
CheckFlow_New::m_sgSvc
StoreGateSvc * m_sgSvc
Definition: CheckFlow_New.h:69
HijingEventParams::get_b
float get_b() const
Definition: HijingEventParams.h:91
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
a
TList * a
Definition: liststreamerinfos.cxx:10
h
TProfile::Fill
int Fill(double, double)
Definition: rootspy.cxx:523
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
DEBUG
#define DEBUG
Definition: page_access.h:11
AthCommonMsg< Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
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:616
CheckFlow_New::n_etabin
@ n_etabin
Definition: CheckFlow_New.h:49
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >