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] {}
 
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 200 of file CheckFlow_New_Minbias.cxx.

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

◆ 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 416 of file CheckFlow_New_Minbias.cxx.

416  {
417 
418  ATH_MSG_INFO(">>> CheckFlow_New from finalize");
419 
420  return StatusCode::SUCCESS;
421 }

◆ initialize()

StatusCode CheckFlow_New_Minbias::initialize ( )

Definition at line 53 of file CheckFlow_New_Minbias.cxx.

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

◆ 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 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_b_bins
@ n_b_bins
Definition: CheckFlow_New_Minbias.h:55
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:29
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
CheckFlow_New_Minbias::n_etabin
@ n_etabin
Definition: CheckFlow_New_Minbias.h:54
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
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:228
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:80
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::n_ptbin
@ n_ptbin
Definition: CheckFlow_New_Minbias.h:53
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