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

#include <eFEXNtupleWriter.h>

Inheritance diagram for LVL1::eFEXNtupleWriter:
Collaboration diagram for LVL1::eFEXNtupleWriter:

Public Member Functions

 eFEXNtupleWriter (const std::string &name, ISvcLocator *pSvcLocator)
 this is a standard algorithm constructor More...
 
 ~eFEXNtupleWriter ()
 Destructor. More...
 
StatusCode initialize ()
 initialize the Algorithm More...
 
StatusCode execute ()
 execute the Algorithm More...
 
StatusCode finalize ()
 finalize the Algorithm More...
 
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
 

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

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode loadegAlgoVariables (SG::ReadHandle< LVL1::eFEXOutputCollection >)
 save variables related to the e-gamma algorithm More...
 
StatusCode loadegAlgoTOBs (SG::ReadHandle< LVL1::eFEXOutputCollection >)
 save variables in the e-gamma TOB word More...
 
StatusCode loadtauAlgoVariables (SG::ReadHandle< LVL1::eFEXOutputCollection >)
 save variables related to the tau algorithm More...
 
StatusCode loadTruthElectron ()
 save variables related to truth electrons More...
 
StatusCode loadTruthJets ()
 save variables related to truth jets More...
 
StatusCode loadTruthTau ()
 save variables related to truth taus More...
 
std::unique_ptr< TLorentzVector > visibleTauP4 (const xAOD::TruthParticle *)
 calculate the 4-vector of all the visible decay products of the tau More...
 
std::unique_ptr< TLorentzVector > invisibleTauP4 (const xAOD::TruthParticle *)
 calculate the 4-vector of all the invisible decay products of the tau More...
 
const xAOD::TruthParticlegetMother (const xAOD::TruthParticle *, int)
 find the nearest mother particle in the decay chain with the specified particle id. More...
 
uint32_t getbits (uint32_t in, int start, int end)
 extract bits from a 32-bit TOB words More...
 
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

SG::ReadHandleKey< LVL1::eFEXOutputCollectionm_eFEXOutputCollectionSGKey {this, "MyOutputs", "eFEXOutputCollection", "MyOutputs"}
 readhandle key for eFEXOutputCollection More...
 
int m_eg_nTOBs
 number of e-gamma tobs More...
 
bool m_load_truth_jet
 if load truth jets More...
 
std::vector< float > m_em
 
std::vector< float > m_had
 
std::vector< float > m_truth_e_eta
 
std::vector< float > m_truth_e_phi
 
std::vector< float > m_truth_e_ET
 
std::vector< float > m_truth_jet_eta
 
std::vector< float > m_truth_jet_phi
 
std::vector< float > m_truth_jet_ET
 
std::vector< float > m_truth_tauvisible_eta
 
std::vector< float > m_truth_tauvisible_phi
 
std::vector< float > m_truth_tauvisible_ET
 
std::vector< float > m_eg_haveseed
 
std::vector< float > m_eg_eta
 
std::vector< float > m_eg_phi
 
std::vector< float > m_eg_ET
 
std::vector< float > m_eg_WstotNum
 
std::vector< float > m_eg_WstotDen
 
std::vector< float > m_eg_RetaNum
 
std::vector< float > m_eg_RetaDen
 
std::vector< float > m_eg_RhadNum
 
std::vector< float > m_eg_RhadDen
 
std::vector< float > m_tau_realRCore
 
std::vector< float > m_tau_rCoreCore
 
std::vector< float > m_tau_rCoreEnv
 
std::vector< float > m_tau_rCoreWP
 
std::vector< float > m_tau_realRHad
 
std::vector< float > m_tau_rHadCore
 
std::vector< float > m_tau_rHadEnv
 
std::vector< float > m_tau_rHadWP
 
std::vector< float > m_tau_seed
 
std::vector< float > m_tau_und
 
std::vector< float > m_tau_Et
 
std::vector< float > m_tau_Eta
 
std::vector< float > m_tau_Phi
 
std::vector< float > m_tau_floatEta
 
std::vector< float > m_tau_floatPhi
 
std::vector< float > m_tau_isCentralTowerSeed
 
std::vector< float > m_tau_CenterTowerEt
 
std::vector< float > m_tau_OneOffEtaTowerEt
 
std::vector< float > m_tau_OneBelowEtaTowerEt
 
std::vector< float > m_tau_eFEXID
 
std::vector< float > m_tau_FPGAID
 
std::vector< int > m_eFex_number
 eFex number More...
 
std::vector< uint32_t > m_eg_tob
 e-gamma TOB words More...
 
std::vector< float > m_eg_TOB_FP
 
std::vector< float > m_eg_TOB_Eta
 
std::vector< float > m_eg_TOB_Phi
 
std::vector< float > m_eg_TOB_ha
 
std::vector< float > m_eg_TOB_f3
 
std::vector< float > m_eg_TOB_Re
 
std::vector< float > m_eg_TOB_Sd
 
std::vector< float > m_eg_TOB_UnD
 
std::vector< float > m_eg_TOB_Max
 
std::vector< float > m_eg_TOB_zeros
 
std::vector< float > m_eg_TOB_energy
 
std::string m_jet_container_name = "AntiKt10TruthJets"
 truth jet type More...
 
TTree * m_myTree
 
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 26 of file eFEXNtupleWriter.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ eFEXNtupleWriter()

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

this is a standard algorithm constructor

Definition at line 27 of file eFEXNtupleWriter.cxx.

27 : AthAlgorithm(name, pSvcLocator) { }

◆ ~eFEXNtupleWriter()

eFEXNtupleWriter::~eFEXNtupleWriter ( )

Destructor.

Definition at line 29 of file eFEXNtupleWriter.cxx.

29  {
30 
31 }

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

execute the Algorithm

Definition at line 107 of file eFEXNtupleWriter.cxx.

107  {
109  if(!eFEXOutputCollectionobj.isValid()){
110  ATH_MSG_FATAL("Could not retrieve eFEXOutputCollection " << m_eFEXOutputCollectionSGKey.key());
111  return StatusCode::FAILURE;
112  }
113  if (!eFEXOutputCollectionobj->getdooutput()) {
114  return StatusCode::SUCCESS;
115  }
116 
117  CHECK(loadegAlgoVariables(eFEXOutputCollectionobj));
118  CHECK(loadegAlgoTOBs(eFEXOutputCollectionobj));
119  CHECK(loadtauAlgoVariables(eFEXOutputCollectionobj));
121  CHECK(loadTruthTau());
122  if (m_load_truth_jet){
123  CHECK(loadTruthJets());
124  }
125 
126  m_myTree->Fill();
127 
128  return StatusCode::SUCCESS;
129 }

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

finalize the Algorithm

Definition at line 131 of file eFEXNtupleWriter.cxx.

131  {
132  ATH_MSG_DEBUG("Finalizing " << name() << "...");
133  return StatusCode::SUCCESS;
134 }

◆ getbits()

uint32_t eFEXNtupleWriter::getbits ( uint32_t  in,
int  start,
int  end 
)
private

extract bits from a 32-bit TOB words

Parameters
inTOB word
startstart position (start from 1)
endend position (start from 1)
Returns
extracted bit word

Definition at line 413 of file eFEXNtupleWriter.cxx.

413  {
414  in <<= start - 1;
415  in >>= 32 - end + start - 1;
416  return in;
417 }

◆ getMother()

const xAOD::TruthParticle * eFEXNtupleWriter::getMother ( const xAOD::TruthParticle particle,
int  motherPid 
)
private

find the nearest mother particle in the decay chain with the specified particle id.

Definition at line 401 of file eFEXNtupleWriter.cxx.

401  {
402  const xAOD::TruthVertex* productionVector = particle->prodVtx();
403  if (!productionVector) return NULL;
404  for (long unsigned int i = 0; i < productionVector->nIncomingParticles(); i++) {
405  const xAOD::TruthParticle* mother = productionVector->incomingParticle(i);
406  if (mother->pdgId()==motherPid) return mother;
407  const xAOD::TruthParticle* grandmother = getMother(mother, motherPid);
408  if (grandmother) return grandmother;
409  }
410  return NULL;
411 }

◆ initialize()

StatusCode eFEXNtupleWriter::initialize ( )

initialize the Algorithm

Definition at line 33 of file eFEXNtupleWriter.cxx.

33  {
34  ServiceHandle<ITHistSvc> histSvc("THistSvc",name());
35  CHECK( histSvc.retrieve() );
36  m_myTree = new TTree("data","data");
37  CHECK( histSvc->regTree("/ANALYSIS/data",m_myTree) );
38 
40 
41  m_load_truth_jet = false;
42 
43  m_myTree->Branch ("truth_tauvisible_eta", &m_truth_tauvisible_eta);
44  m_myTree->Branch ("truth_tauvisible_phi", &m_truth_tauvisible_phi);
45  m_myTree->Branch ("truth_tauvisible_ET", &m_truth_tauvisible_ET);
46 
47  m_myTree->Branch ("truth_e_eta", &m_truth_e_eta);
48  m_myTree->Branch ("truth_e_phi", &m_truth_e_phi);
49  m_myTree->Branch ("truth_e_ET", &m_truth_e_ET);
50  if (m_load_truth_jet){
51  m_myTree->Branch ("truth_jet_eta", &m_truth_jet_eta);
52  m_myTree->Branch ("truth_jet_phi", &m_truth_jet_phi);
53  m_myTree->Branch ("truth_jet_ET", &m_truth_jet_ET);
54  }
55 
56  m_myTree->Branch ("em", &m_em);
57  m_myTree->Branch ("had", &m_had);
58 
59  m_myTree->Branch ("eg_eta", &m_eg_eta);
60  m_myTree->Branch ("eg_phi", &m_eg_phi);
61  m_myTree->Branch ("eg_ET", &m_eg_ET);
62  m_myTree->Branch ("eg_wstotnum", &m_eg_WstotNum);
63  m_myTree->Branch ("eg_wstotden", &m_eg_WstotDen);
64  m_myTree->Branch ("eg_retanum", &m_eg_RetaNum);
65  m_myTree->Branch ("eg_retaden", &m_eg_RetaDen);
66  m_myTree->Branch ("eg_rhadnum", &m_eg_RhadNum);
67  m_myTree->Branch ("eg_rhadden", &m_eg_RhadDen);
68  m_myTree->Branch ("eg_haveSeed", &m_eg_haveseed);
69  m_myTree->Branch ("tau_RealRCore", &m_tau_realRCore);
70  m_myTree->Branch ("tau_RCoreCore", &m_tau_rCoreCore);
71  m_myTree->Branch ("tau_RCoreEnv", &m_tau_rCoreEnv);
72  m_myTree->Branch ("tau_RCoreWP", &m_tau_rCoreWP);
73  m_myTree->Branch ("tau_RealRHad", &m_tau_realRHad);
74  m_myTree->Branch ("tau_RHadCore", &m_tau_rHadCore);
75  m_myTree->Branch ("tau_RHadEnv", &m_tau_rHadEnv);
76  m_myTree->Branch ("tau_RHadWP", &m_tau_rHadWP);
77  m_myTree->Branch ("tau_Seed", &m_tau_seed);
78  m_myTree->Branch ("tau_UnD", &m_tau_und);
79  m_myTree->Branch ("tau_Et", &m_tau_Et);
80  m_myTree->Branch ("tau_Eta", &m_tau_Eta);
81  m_myTree->Branch ("tau_Phi", &m_tau_Phi);
82  m_myTree->Branch ("tau_floatEta", &m_tau_floatEta);
83  m_myTree->Branch ("tau_floatPhi", &m_tau_floatPhi);
84  m_myTree->Branch ("tau_isCentralTowerSeed", &m_tau_isCentralTowerSeed);
85  m_myTree->Branch ("tau_CenterTowerEt", &m_tau_CenterTowerEt);
86  m_myTree->Branch ("tau_OneOffEtaTowerEt", &m_tau_OneOffEtaTowerEt);
87  m_myTree->Branch ("tau_OneBelowEtaTowerEt", &m_tau_OneBelowEtaTowerEt);
88  m_myTree->Branch ("tau_eFEXID", &m_tau_eFEXID);
89  m_myTree->Branch ("tau_FPGAID", &m_tau_FPGAID);
90  m_myTree->Branch ("eFEXnumber", &m_eFex_number);
91  m_myTree->Branch ("eg_nTOBs", &m_eg_nTOBs);
92 
93  m_myTree->Branch ("eg_TOB_FP", &m_eg_TOB_FP);
94  m_myTree->Branch ("eg_TOB_Eta", &m_eg_TOB_Eta);
95  m_myTree->Branch ("eg_TOB_Phi", &m_eg_TOB_Phi);
96  m_myTree->Branch ("eg_TOB_ha", &m_eg_TOB_ha);
97  m_myTree->Branch ("eg_TOB_f3", &m_eg_TOB_f3);
98  m_myTree->Branch ("eg_TOB_Re", &m_eg_TOB_Re);
99  m_myTree->Branch ("eg_TOB_Sd", &m_eg_TOB_Sd);
100  m_myTree->Branch ("eg_TOB_UnD", &m_eg_TOB_UnD);
101  m_myTree->Branch ("eg_TOB_Max", &m_eg_TOB_Max);
102  m_myTree->Branch ("eg_TOB_zeros", &m_eg_TOB_zeros);
103  m_myTree->Branch ("eg_TOB_energy", &m_eg_TOB_energy);
104  return StatusCode::SUCCESS;
105 }

◆ 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.

◆ invisibleTauP4()

std::unique_ptr< TLorentzVector > eFEXNtupleWriter::invisibleTauP4 ( const xAOD::TruthParticle particle)
private

calculate the 4-vector of all the invisible decay products of the tau

Definition at line 373 of file eFEXNtupleWriter.cxx.

373  {
374  std::unique_ptr<TLorentzVector> psum(new TLorentzVector(0,0,0,0));
375  // ignore documentation particles. Attempt to find the nOutgoingParticles() of a documentation particle
376  // causes crash.
377  // It still gives the correct result, but I don't know why I have to do this.
378  if (!MC::isPhysical(particle)) {
379  return psum;
380  }
381  const xAOD::TruthVertex* decay_vertex = particle->decayVtx();
382  for (uint i=0; i < decay_vertex->nOutgoingParticles(); i++) {
383  const xAOD::TruthParticle* each_particle = decay_vertex->outgoingParticle(i);
384  int pid = std::abs(each_particle->pdgId());
385  // particle that is not decayed further by the generator
386  if (MC::isStable(each_particle)) {
387  // ignore leptonic decay events
388  if (pid == 11 || pid == 13) return std::unique_ptr<TLorentzVector>(nullptr);
389  // select neutrinos
390  if (pid == 12 || pid == 14 || pid == 16) (*psum) += each_particle->p4();
391  }
392  else {
393  std::unique_ptr<TLorentzVector> p4_tem = invisibleTauP4(each_particle);
394  if (!p4_tem) return std::unique_ptr<TLorentzVector>(nullptr);
395  (*psum) += (*p4_tem);
396  }
397  }
398  return psum;
399 }

◆ loadegAlgoTOBs()

StatusCode eFEXNtupleWriter::loadegAlgoTOBs ( SG::ReadHandle< LVL1::eFEXOutputCollection eFEXOutputCollectionobj)
private

save variables in the e-gamma TOB word

Definition at line 220 of file eFEXNtupleWriter.cxx.

220  {
221  m_eg_TOB_FP.clear();
222  m_eg_TOB_Eta.clear();
223  m_eg_TOB_Phi.clear();
224  m_eg_TOB_ha.clear();
225  m_eg_TOB_f3.clear();
226  m_eg_TOB_Re.clear();
227  m_eg_TOB_Sd.clear();
228  m_eg_TOB_UnD.clear();
229  m_eg_TOB_Max.clear();
230  m_eg_TOB_zeros.clear();
231  m_eg_TOB_energy.clear();
232  for (int i = 0; i < eFEXOutputCollectionobj->size(); i++)
233  {
234  uint32_t TOB = eFEXOutputCollectionobj->getEMtob()[i];
235  uint32_t FP = getbits(TOB, 1, 2);
236  uint32_t Eta = getbits(TOB, 3, 5);
237  uint32_t Phi = getbits(TOB, 6, 8);
238  uint32_t ha = getbits(TOB, 9, 10);
239  uint32_t f3 = getbits(TOB, 11, 12);
240  uint32_t Re = getbits(TOB, 13, 14);
241  uint32_t Sd = getbits(TOB, 15, 16);
242  uint32_t UnD = getbits(TOB, 17, 17);
243  uint32_t Max = getbits(TOB, 18, 18);
244  uint32_t zeros = getbits(TOB, 19, 20);
245  uint32_t energy = getbits(TOB, 21, 32);
246 
247  m_eg_TOB_FP.push_back(FP);
248  m_eg_TOB_Eta.push_back(Eta);
249  m_eg_TOB_Phi.push_back(Phi);
250  m_eg_TOB_ha.push_back(ha);
251  m_eg_TOB_f3.push_back(f3);
252  m_eg_TOB_Re.push_back(Re);
253  m_eg_TOB_Sd.push_back(Sd);
254  m_eg_TOB_UnD.push_back(UnD);
255  m_eg_TOB_Max.push_back(Max);
256  m_eg_TOB_zeros.push_back(zeros);
257  m_eg_TOB_energy.push_back(energy * 100);
258  }
259  m_eFex_number = eFEXOutputCollectionobj->geteFexNumber();
260  return StatusCode::SUCCESS;
261 }

◆ loadegAlgoVariables()

StatusCode eFEXNtupleWriter::loadegAlgoVariables ( SG::ReadHandle< LVL1::eFEXOutputCollection eFEXOutputCollectionobj)
private

save variables related to the e-gamma algorithm

Definition at line 185 of file eFEXNtupleWriter.cxx.

185  {
186  m_eg_ET.clear();
187  m_eg_WstotNum.clear();
188  m_eg_WstotDen.clear();
189  m_eg_eta.clear();
190  m_eg_phi.clear();
191  m_eg_haveseed.clear();
192  m_eg_RetaNum.clear();
193  m_eg_RetaDen.clear();
194  m_eg_RhadNum.clear();
195  m_eg_RhadDen.clear();
196  m_eFex_number.clear();
197  m_em.clear();
198  m_had.clear();
199 
200  m_eg_nTOBs = eFEXOutputCollectionobj->size();
201  for (int i = 0; i < eFEXOutputCollectionobj->size(); i++)
202  {
203  std::map<std::string, float> eFEXegvalue_tem = (*(eFEXOutputCollectionobj->get_eg(i)));
204  m_eg_WstotNum.push_back(eFEXegvalue_tem["WstotNum"]);
205  m_eg_WstotDen.push_back(eFEXegvalue_tem["WstotDen"]);
206  m_eg_RetaNum.push_back(eFEXegvalue_tem["RetaNum"]);
207  m_eg_RetaDen.push_back(eFEXegvalue_tem["RetaDen"]);
208  m_eg_RhadNum.push_back(eFEXegvalue_tem["RhadNum"]);
209  m_eg_RhadDen.push_back(eFEXegvalue_tem["RhadDen"]);
210  m_eg_haveseed.push_back(eFEXegvalue_tem["haveSeed"]);
211  m_eg_ET.push_back(eFEXegvalue_tem["ET"]);
212  m_eg_eta.push_back(eFEXegvalue_tem["eta"]);
213  m_eg_phi.push_back(eFEXegvalue_tem["phi"]);
214  m_em.push_back(eFEXegvalue_tem["em"]);
215  m_had.push_back(eFEXegvalue_tem["had"]);
216  }
217  return StatusCode::SUCCESS;
218 }

◆ loadtauAlgoVariables()

StatusCode eFEXNtupleWriter::loadtauAlgoVariables ( SG::ReadHandle< LVL1::eFEXOutputCollection eFEXOutputCollectionobj)
private

save variables related to the tau algorithm

Definition at line 136 of file eFEXNtupleWriter.cxx.

136  {
137  m_tau_realRCore.clear();
138  m_tau_rCoreCore.clear();
139  m_tau_rCoreEnv.clear();
140  m_tau_rCoreWP.clear();
141  m_tau_realRHad.clear();
142  m_tau_rHadCore.clear();
143  m_tau_rHadEnv.clear();
144  m_tau_rHadWP.clear();
145  m_tau_seed.clear();
146  m_tau_und.clear();
147  m_tau_Et.clear();
148  m_tau_Eta.clear();
149  m_tau_Phi.clear();
150  m_tau_floatEta.clear();
151  m_tau_floatPhi.clear();
152  m_tau_isCentralTowerSeed.clear();
153  m_tau_CenterTowerEt.clear();
154  m_tau_OneOffEtaTowerEt.clear();
155  m_tau_OneBelowEtaTowerEt.clear();
156  m_tau_eFEXID.clear();
157  m_tau_FPGAID.clear();
158  for (int i = 0; i < eFEXOutputCollectionobj->tau_size(); i++)
159  {
160  m_tau_isCentralTowerSeed.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["isCentralTowerSeed"]);
161  m_tau_Et.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["Et"]);
162  m_tau_Eta.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["Eta"]);
163  m_tau_Phi.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["Phi"]);
164  m_tau_floatEta.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["FloatEta"]);
165  m_tau_floatPhi.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["FloatPhi"]);
166  m_tau_realRCore.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RealRCore"]);
167  m_tau_rCoreCore.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RCoreCore"]);
168  m_tau_rCoreEnv.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RCoreEnv"]);
169  m_tau_rCoreWP.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RCoreWP"]);
170  m_tau_realRHad.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RealRHad"]);
171  m_tau_rHadCore.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RHadCore"]);
172  m_tau_rHadEnv.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RHadEnv"]);
173  m_tau_rHadWP.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["RHadWP"]);
174  m_tau_seed.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["Seed"]);
175  m_tau_und.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["UnD"]);
176  m_tau_CenterTowerEt.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["CenterTowerEt"]);
177  m_tau_OneOffEtaTowerEt.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["OneOffEtaTowerEt"]);
178  m_tau_OneBelowEtaTowerEt.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["OneBelowEtaTowerEt"]);
179  m_tau_eFEXID.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["eFEXID"]);
180  m_tau_FPGAID.push_back((*(eFEXOutputCollectionobj->get_tau(i)))["FPGAID"]);
181  }
182  return StatusCode::SUCCESS;
183 }

◆ loadTruthElectron()

StatusCode eFEXNtupleWriter::loadTruthElectron ( )
private

save variables related to truth electrons

Definition at line 263 of file eFEXNtupleWriter.cxx.

263  {
264  m_truth_e_eta.clear();
265  m_truth_e_phi.clear();
266  m_truth_e_ET.clear();
267  const xAOD::TruthEventContainer* truthEvents;
268  CHECK(evtStore()->retrieve( truthEvents, "TruthEvents"));
269  for(auto ite : *truthEvents) {
270  int nParticle = ite->nTruthParticles();
271  for(int i = 0; i < nParticle; i++){
272  const xAOD::TruthParticle* each_particle = ite->truthParticle(i);
273 
274  // ignore geant4
275  if(HepMC::is_simulation_particle(each_particle)) continue;
276  // select particles that is not decayed further by the generator
277  if(!MC::isStable(each_particle)) continue;
278  // select electrons
279  if(std::abs(each_particle->pdgId()) != 11) continue;
280  // select particles from Z
281  if(!getMother(each_particle, 23)) continue;
282 
283  m_truth_e_ET.push_back(each_particle->p4().Pt());
284  m_truth_e_eta.push_back(each_particle->p4().Eta());
285  m_truth_e_phi.push_back(each_particle->p4().Phi());
286  }
287  }
288  return StatusCode::SUCCESS;
289 }

◆ loadTruthJets()

StatusCode eFEXNtupleWriter::loadTruthJets ( )
private

save variables related to truth jets

Definition at line 291 of file eFEXNtupleWriter.cxx.

291  {
292  m_truth_jet_eta.clear();
293  m_truth_jet_phi.clear();
294  m_truth_jet_ET.clear();
295  const xAOD::JetContainer* truth_jets;
296  StatusCode sc = evtStore()->retrieve( truth_jets, m_jet_container_name);
297  if (sc == StatusCode::FAILURE){
298  m_jet_container_name = "InTimeAntiKt4TruthJets";
299  StatusCode sc2 = evtStore()->retrieve( truth_jets, m_jet_container_name);
300  if (sc2 == StatusCode::FAILURE){
301  ATH_MSG_DEBUG("eFEXNtupleWriter::loadTruthJets() Unable to determine truth jet container");
302  m_load_truth_jet = false;
303  return StatusCode::SUCCESS;
304  }
305  }
306  for (unsigned i=0; i!=truth_jets->size(); i++) {
307  const xAOD::Jet* each_jet = (*truth_jets)[i];
308  if(each_jet->pt()<10000) continue;
309  m_truth_jet_eta.push_back(each_jet->p4().Eta());
310  m_truth_jet_phi.push_back(each_jet->p4().Phi());
311  m_truth_jet_ET.push_back(each_jet->p4().Et());
312  }
313  return StatusCode::SUCCESS;
314 }

◆ loadTruthTau()

StatusCode eFEXNtupleWriter::loadTruthTau ( )
private

save variables related to truth taus

Definition at line 316 of file eFEXNtupleWriter.cxx.

316  {
317  m_truth_tauvisible_eta.clear();
318  m_truth_tauvisible_phi.clear();
319  m_truth_tauvisible_ET.clear();
320  const xAOD::TruthEventContainer* truthEvents;
321  CHECK( evtStore()->retrieve( truthEvents, "TruthEvents"));
322  for (auto ite : *truthEvents) {
323  int nParticle = ite->nTruthParticles();
324  for(int i = 0; i < nParticle; i++) {
325  const xAOD::TruthParticle* each_particle = ite->truthParticle(i);
326  // ignore geant4
327  if(HepMC::is_simulation_particle(each_particle)) continue;
328  // select final state particles and decaying hadrons, muons or taus
329  if (!MC::isPhysical(each_particle)) continue;
330  // select tau
331  if (std::abs(each_particle->pdgId()) != 15) continue;
332  std::unique_ptr<TLorentzVector> p4_visible = visibleTauP4(each_particle);
333 
334  if (!p4_visible) break;
335  m_truth_tauvisible_eta.push_back(p4_visible->Eta());
336  m_truth_tauvisible_phi.push_back(p4_visible->Phi());
337  m_truth_tauvisible_ET.push_back(p4_visible->Et());
338  }
339  }
340  return StatusCode::SUCCESS;
341 }

◆ 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  }

◆ visibleTauP4()

std::unique_ptr< TLorentzVector > eFEXNtupleWriter::visibleTauP4 ( const xAOD::TruthParticle particle)
private

calculate the 4-vector of all the visible decay products of the tau

Definition at line 343 of file eFEXNtupleWriter.cxx.

343  {
344  std::unique_ptr<TLorentzVector> psum(new TLorentzVector(0,0,0,0));
345  // ignore documentation particles. Attempt to find the nOutgoingParticles() of a documentation particle
346  // causes crash.
347  // It still gives the correct result, but I don't know why I have to do this.
348  if (!MC::isPhysical(particle)) {
349  return psum;
350  }
351  const xAOD::TruthVertex* decay_vertex = particle->decayVtx();
352  decay_vertex->nOutgoingParticles();
353  for(uint i=0; i < decay_vertex->nOutgoingParticles(); i++) {
354  const xAOD::TruthParticle* each_particle = decay_vertex->outgoingParticle(i);
355  int pid = std::abs(each_particle->pdgId());
356  // particle that is not decayed further by the generator
357  if (MC::isStable(each_particle)) {
358  // ignore neutrinos
359  if (pid == 12 || pid == 14 || pid == 16) continue;
360  // ignore leptonic decay events
361  if (pid == 11 || pid == 13) return std::unique_ptr<TLorentzVector>(nullptr);
362  (*psum) += each_particle->p4();
363  }
364  else{
365  std::unique_ptr<TLorentzVector> p4_tem = visibleTauP4(each_particle);
366  if (!p4_tem) return std::unique_ptr<TLorentzVector>(nullptr);
367  (*psum) += (*p4_tem);
368  }
369  }
370  return psum;
371 }

Member Data Documentation

◆ 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_eFex_number

std::vector<int> LVL1::eFEXNtupleWriter::m_eFex_number
private

eFex number

Definition at line 101 of file eFEXNtupleWriter.h.

◆ m_eFEXOutputCollectionSGKey

SG::ReadHandleKey<LVL1::eFEXOutputCollection> LVL1::eFEXNtupleWriter::m_eFEXOutputCollectionSGKey {this, "MyOutputs", "eFEXOutputCollection", "MyOutputs"}
private

readhandle key for eFEXOutputCollection

Definition at line 50 of file eFEXNtupleWriter.h.

◆ m_eg_ET

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_ET
private

Definition at line 70 of file eFEXNtupleWriter.h.

◆ m_eg_eta

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_eta
private

Definition at line 68 of file eFEXNtupleWriter.h.

◆ m_eg_haveseed

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_haveseed
private

Definition at line 67 of file eFEXNtupleWriter.h.

◆ m_eg_nTOBs

int LVL1::eFEXNtupleWriter::m_eg_nTOBs
private

number of e-gamma tobs

Definition at line 52 of file eFEXNtupleWriter.h.

◆ m_eg_phi

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_phi
private

Definition at line 69 of file eFEXNtupleWriter.h.

◆ m_eg_RetaDen

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RetaDen
private

Definition at line 74 of file eFEXNtupleWriter.h.

◆ m_eg_RetaNum

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RetaNum
private

Definition at line 73 of file eFEXNtupleWriter.h.

◆ m_eg_RhadDen

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RhadDen
private

Definition at line 76 of file eFEXNtupleWriter.h.

◆ m_eg_RhadNum

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RhadNum
private

Definition at line 75 of file eFEXNtupleWriter.h.

◆ m_eg_tob

std::vector<uint32_t> LVL1::eFEXNtupleWriter::m_eg_tob
private

e-gamma TOB words

Definition at line 102 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_energy

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_energy
private

Definition at line 115 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_Eta

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Eta
private

Definition at line 106 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_f3

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_f3
private

Definition at line 109 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_FP

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_FP
private

Definition at line 105 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_ha

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_ha
private

Definition at line 108 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_Max

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Max
private

Definition at line 113 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_Phi

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Phi
private

Definition at line 107 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_Re

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Re
private

Definition at line 110 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_Sd

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Sd
private

Definition at line 111 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_UnD

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_UnD
private

Definition at line 112 of file eFEXNtupleWriter.h.

◆ m_eg_TOB_zeros

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_zeros
private

Definition at line 114 of file eFEXNtupleWriter.h.

◆ m_eg_WstotDen

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_WstotDen
private

Definition at line 72 of file eFEXNtupleWriter.h.

◆ m_eg_WstotNum

std::vector<float> LVL1::eFEXNtupleWriter::m_eg_WstotNum
private

Definition at line 71 of file eFEXNtupleWriter.h.

◆ m_em

std::vector<float> LVL1::eFEXNtupleWriter::m_em
private

Definition at line 56 of file eFEXNtupleWriter.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_had

std::vector<float> LVL1::eFEXNtupleWriter::m_had
private

Definition at line 57 of file eFEXNtupleWriter.h.

◆ m_jet_container_name

std::string LVL1::eFEXNtupleWriter::m_jet_container_name = "AntiKt10TruthJets"
private

truth jet type

Definition at line 117 of file eFEXNtupleWriter.h.

◆ m_load_truth_jet

bool LVL1::eFEXNtupleWriter::m_load_truth_jet
private

if load truth jets

Definition at line 53 of file eFEXNtupleWriter.h.

◆ m_myTree

TTree* LVL1::eFEXNtupleWriter::m_myTree
private

Definition at line 118 of file eFEXNtupleWriter.h.

◆ m_tau_CenterTowerEt

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_CenterTowerEt
private

Definition at line 95 of file eFEXNtupleWriter.h.

◆ m_tau_eFEXID

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_eFEXID
private

Definition at line 98 of file eFEXNtupleWriter.h.

◆ m_tau_Et

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_Et
private

Definition at line 89 of file eFEXNtupleWriter.h.

◆ m_tau_Eta

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_Eta
private

Definition at line 90 of file eFEXNtupleWriter.h.

◆ m_tau_floatEta

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_floatEta
private

Definition at line 92 of file eFEXNtupleWriter.h.

◆ m_tau_floatPhi

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_floatPhi
private

Definition at line 93 of file eFEXNtupleWriter.h.

◆ m_tau_FPGAID

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_FPGAID
private

Definition at line 99 of file eFEXNtupleWriter.h.

◆ m_tau_isCentralTowerSeed

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_isCentralTowerSeed
private

Definition at line 94 of file eFEXNtupleWriter.h.

◆ m_tau_OneBelowEtaTowerEt

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_OneBelowEtaTowerEt
private

Definition at line 97 of file eFEXNtupleWriter.h.

◆ m_tau_OneOffEtaTowerEt

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_OneOffEtaTowerEt
private

Definition at line 96 of file eFEXNtupleWriter.h.

◆ m_tau_Phi

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_Phi
private

Definition at line 91 of file eFEXNtupleWriter.h.

◆ m_tau_rCoreCore

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rCoreCore
private

Definition at line 80 of file eFEXNtupleWriter.h.

◆ m_tau_rCoreEnv

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rCoreEnv
private

Definition at line 81 of file eFEXNtupleWriter.h.

◆ m_tau_rCoreWP

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rCoreWP
private

Definition at line 82 of file eFEXNtupleWriter.h.

◆ m_tau_realRCore

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_realRCore
private

Definition at line 79 of file eFEXNtupleWriter.h.

◆ m_tau_realRHad

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_realRHad
private

Definition at line 83 of file eFEXNtupleWriter.h.

◆ m_tau_rHadCore

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rHadCore
private

Definition at line 84 of file eFEXNtupleWriter.h.

◆ m_tau_rHadEnv

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rHadEnv
private

Definition at line 85 of file eFEXNtupleWriter.h.

◆ m_tau_rHadWP

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rHadWP
private

Definition at line 86 of file eFEXNtupleWriter.h.

◆ m_tau_seed

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_seed
private

Definition at line 87 of file eFEXNtupleWriter.h.

◆ m_tau_und

std::vector<float> LVL1::eFEXNtupleWriter::m_tau_und
private

Definition at line 88 of file eFEXNtupleWriter.h.

◆ m_truth_e_ET

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_e_ET
private

Definition at line 60 of file eFEXNtupleWriter.h.

◆ m_truth_e_eta

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_e_eta
private

Definition at line 58 of file eFEXNtupleWriter.h.

◆ m_truth_e_phi

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_e_phi
private

Definition at line 59 of file eFEXNtupleWriter.h.

◆ m_truth_jet_ET

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_jet_ET
private

Definition at line 63 of file eFEXNtupleWriter.h.

◆ m_truth_jet_eta

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_jet_eta
private

Definition at line 61 of file eFEXNtupleWriter.h.

◆ m_truth_jet_phi

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_jet_phi
private

Definition at line 62 of file eFEXNtupleWriter.h.

◆ m_truth_tauvisible_ET

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_tauvisible_ET
private

Definition at line 66 of file eFEXNtupleWriter.h.

◆ m_truth_tauvisible_eta

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_tauvisible_eta
private

Definition at line 64 of file eFEXNtupleWriter.h.

◆ m_truth_tauvisible_phi

std::vector<float> LVL1::eFEXNtupleWriter::m_truth_tauvisible_phi
private

Definition at line 65 of file eFEXNtupleWriter.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.


The documentation for this class was generated from the following files:
LVL1::eFEXNtupleWriter::m_eg_TOB_Max
std::vector< float > m_eg_TOB_Max
Definition: eFEXNtupleWriter.h:113
WritePulseShapeToCool.zeros
zeros
Definition: WritePulseShapeToCool.py:66
LVL1::eFEXNtupleWriter::m_em
std::vector< float > m_em
Definition: eFEXNtupleWriter.h:56
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
LVL1::eFEXNtupleWriter::loadegAlgoVariables
StatusCode loadegAlgoVariables(SG::ReadHandle< LVL1::eFEXOutputCollection >)
save variables related to the e-gamma algorithm
Definition: eFEXNtupleWriter.cxx:185
xAOD::TruthVertex_v1::nOutgoingParticles
size_t nOutgoingParticles() const
Get the number of outgoing particles.
LVL1::eFEXNtupleWriter::loadegAlgoTOBs
StatusCode loadegAlgoTOBs(SG::ReadHandle< LVL1::eFEXOutputCollection >)
save variables in the e-gamma TOB word
Definition: eFEXNtupleWriter.cxx:220
LVL1::eFEXNtupleWriter::getbits
uint32_t getbits(uint32_t in, int start, int end)
extract bits from a 32-bit TOB words
Definition: eFEXNtupleWriter.cxx:413
LVL1::eFEXNtupleWriter::m_tau_rHadEnv
std::vector< float > m_tau_rHadEnv
Definition: eFEXNtupleWriter.h:85
LVL1::eFEXNtupleWriter::m_tau_seed
std::vector< float > m_tau_seed
Definition: eFEXNtupleWriter.h:87
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
LVL1::eFEXNtupleWriter::m_eg_eta
std::vector< float > m_eg_eta
Definition: eFEXNtupleWriter.h:68
LVL1::eFEXNtupleWriter::m_truth_tauvisible_ET
std::vector< float > m_truth_tauvisible_ET
Definition: eFEXNtupleWriter.h:66
LVL1::eFEXNtupleWriter::m_truth_e_eta
std::vector< float > m_truth_e_eta
Definition: eFEXNtupleWriter.h:58
LVL1::eFEXNtupleWriter::loadTruthJets
StatusCode loadTruthJets()
save variables related to truth jets
Definition: eFEXNtupleWriter.cxx:291
LVL1::eFEXNtupleWriter::m_tau_rCoreCore
std::vector< float > m_tau_rCoreCore
Definition: eFEXNtupleWriter.h:80
LVL1::eFEXNtupleWriter::m_tau_CenterTowerEt
std::vector< float > m_tau_CenterTowerEt
Definition: eFEXNtupleWriter.h:95
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
LVL1::eFEXNtupleWriter::m_eg_haveseed
std::vector< float > m_eg_haveseed
Definition: eFEXNtupleWriter.h:67
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
LVL1::eFEXNtupleWriter::m_eFEXOutputCollectionSGKey
SG::ReadHandleKey< LVL1::eFEXOutputCollection > m_eFEXOutputCollectionSGKey
readhandle key for eFEXOutputCollection
Definition: eFEXNtupleWriter.h:50
LVL1::eFEXNtupleWriter::m_truth_tauvisible_eta
std::vector< float > m_truth_tauvisible_eta
Definition: eFEXNtupleWriter.h:64
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
LVL1::eFEXNtupleWriter::m_tau_rHadCore
std::vector< float > m_tau_rHadCore
Definition: eFEXNtupleWriter.h:84
LVL1::eFEXOutputCollection::geteFexNumber
const std::vector< int > & geteFexNumber() const
get the eFEX numbers of all TOBs
Definition: eFEXOutputCollection.cxx:82
LVL1::eFEXNtupleWriter::m_truth_jet_ET
std::vector< float > m_truth_jet_ET
Definition: eFEXNtupleWriter.h:63
LVL1::eFEXNtupleWriter::loadTruthTau
StatusCode loadTruthTau()
save variables related to truth taus
Definition: eFEXNtupleWriter.cxx:316
LVL1::eFEXNtupleWriter::loadTruthElectron
StatusCode loadTruthElectron()
save variables related to truth electrons
Definition: eFEXNtupleWriter.cxx:263
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
Phi
@ Phi
Definition: RPCdef.h:8
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
LVL1::eFEXNtupleWriter::m_eg_TOB_Eta
std::vector< float > m_eg_TOB_Eta
Definition: eFEXNtupleWriter.h:106
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
LVL1::eFEXOutputCollection::getEMtob
const std::vector< uint32_t > & getEMtob() const
get all e-gamma TOB words of an event
Definition: eFEXOutputCollection.cxx:92
LVL1::eFEXNtupleWriter::m_jet_container_name
std::string m_jet_container_name
truth jet type
Definition: eFEXNtupleWriter.h:117
LVL1::eFEXNtupleWriter::m_truth_e_phi
std::vector< float > m_truth_e_phi
Definition: eFEXNtupleWriter.h:59
LVL1::eFEXNtupleWriter::m_tau_FPGAID
std::vector< float > m_tau_FPGAID
Definition: eFEXNtupleWriter.h:99
LVL1::eFEXNtupleWriter::m_tau_eFEXID
std::vector< float > m_tau_eFEXID
Definition: eFEXNtupleWriter.h:98
LVL1::eFEXNtupleWriter::m_eg_phi
std::vector< float > m_eg_phi
Definition: eFEXNtupleWriter.h:69
LVL1::eFEXNtupleWriter::m_eg_WstotNum
std::vector< float > m_eg_WstotNum
Definition: eFEXNtupleWriter.h:71
LVL1::eFEXNtupleWriter::loadtauAlgoVariables
StatusCode loadtauAlgoVariables(SG::ReadHandle< LVL1::eFEXOutputCollection >)
save variables related to the tau algorithm
Definition: eFEXNtupleWriter.cxx:136
LVL1::eFEXNtupleWriter::m_tau_und
std::vector< float > m_tau_und
Definition: eFEXNtupleWriter.h:88
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
LVL1::eFEXNtupleWriter::m_eg_TOB_Phi
std::vector< float > m_eg_TOB_Phi
Definition: eFEXNtupleWriter.h:107
LVL1::eFEXNtupleWriter::m_eg_RhadNum
std::vector< float > m_eg_RhadNum
Definition: eFEXNtupleWriter.h:75
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
LVL1::eFEXNtupleWriter::m_tau_Et
std::vector< float > m_tau_Et
Definition: eFEXNtupleWriter.h:89
LVL1::eFEXNtupleWriter::m_tau_isCentralTowerSeed
std::vector< float > m_tau_isCentralTowerSeed
Definition: eFEXNtupleWriter.h:94
LVL1::eFEXNtupleWriter::m_eg_ET
std::vector< float > m_eg_ET
Definition: eFEXNtupleWriter.h:70
xAOD::EgammaParameters::f3
@ f3
fraction of energy reconstructed in 3rd sampling
Definition: EgammaEnums.h:54
MC::isPhysical
bool isPhysical(const T &p)
Identify if the particle is physical, i.e. is stable or decayed.
Definition: HepMCHelpers.h:51
LVL1::eFEXNtupleWriter::m_tau_rCoreEnv
std::vector< float > m_tau_rCoreEnv
Definition: eFEXNtupleWriter.h:81
AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
LVL1::eFEXNtupleWriter::m_tau_floatEta
std::vector< float > m_tau_floatEta
Definition: eFEXNtupleWriter.h:92
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
LVL1::eFEXNtupleWriter::visibleTauP4
std::unique_ptr< TLorentzVector > visibleTauP4(const xAOD::TruthParticle *)
calculate the 4-vector of all the visible decay products of the tau
Definition: eFEXNtupleWriter.cxx:343
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
LVL1::eFEXNtupleWriter::m_eg_TOB_f3
std::vector< float > m_eg_TOB_f3
Definition: eFEXNtupleWriter.h:109
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
HepMC::is_simulation_particle
bool is_simulation_particle(const T &p)
Method to establish if a particle (or barcode) was created during the simulation (TODO update to be s...
Definition: MagicNumbers.h:355
lumiFormat.i
int i
Definition: lumiFormat.py:85
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
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
LVL1::eFEXNtupleWriter::m_had
std::vector< float > m_had
Definition: eFEXNtupleWriter.h:57
ParticleGun_EoverP_Config.pid
pid
Definition: ParticleGun_EoverP_Config.py:62
MuonSegmentReaderConfig.histSvc
histSvc
Definition: MuonSegmentReaderConfig.py:96
LVL1::eFEXNtupleWriter::m_truth_jet_eta
std::vector< float > m_truth_jet_eta
Definition: eFEXNtupleWriter.h:61
LVL1::eFEXNtupleWriter::m_truth_e_ET
std::vector< float > m_truth_e_ET
Definition: eFEXNtupleWriter.h:60
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
LVL1::eFEXNtupleWriter::getMother
const xAOD::TruthParticle * getMother(const xAOD::TruthParticle *, int)
find the nearest mother particle in the decay chain with the specified particle id.
Definition: eFEXNtupleWriter.cxx:401
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
LVL1::eFEXOutputCollection::get_eg
std::map< std::string, float > * get_eg(int) const
get all e-gamma related values the ith TOB
Definition: eFEXOutputCollection.cxx:67
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
xAOD::TruthVertex_v1::incomingParticle
const TruthParticle_v1 * incomingParticle(size_t index) const
Get one of the incoming particles.
Definition: TruthVertex_v1.cxx:69
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
LVL1::eFEXNtupleWriter::m_load_truth_jet
bool m_load_truth_jet
if load truth jets
Definition: eFEXNtupleWriter.h:53
LVL1::eFEXNtupleWriter::m_eg_TOB_energy
std::vector< float > m_eg_TOB_energy
Definition: eFEXNtupleWriter.h:115
LVL1::eFEXNtupleWriter::m_eg_WstotDen
std::vector< float > m_eg_WstotDen
Definition: eFEXNtupleWriter.h:72
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
LVL1::eFEXOutputCollection::getdooutput
bool getdooutput() const
return to true if ntuple output is needed
Definition: eFEXOutputCollection.cxx:102
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
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
LVL1::eFEXNtupleWriter::m_eg_TOB_zeros
std::vector< float > m_eg_TOB_zeros
Definition: eFEXNtupleWriter.h:114
xAOD::TruthVertex_v1
Class describing a truth vertex in the MC record.
Definition: TruthVertex_v1.h:37
LVL1::eFEXNtupleWriter::m_eg_TOB_ha
std::vector< float > m_eg_TOB_ha
Definition: eFEXNtupleWriter.h:108
LVL1::eFEXOutputCollection::size
int size() const
get total number of eg TOBs saved
Definition: eFEXOutputCollection.cxx:62
LVL1::eFEXNtupleWriter::m_eg_TOB_UnD
std::vector< float > m_eg_TOB_UnD
Definition: eFEXNtupleWriter.h:112
LVL1::eFEXNtupleWriter::invisibleTauP4
std::unique_ptr< TLorentzVector > invisibleTauP4(const xAOD::TruthParticle *)
calculate the 4-vector of all the invisible decay products of the tau
Definition: eFEXNtupleWriter.cxx:373
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
LVL1::eFEXNtupleWriter::m_tau_Eta
std::vector< float > m_tau_Eta
Definition: eFEXNtupleWriter.h:90
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
LVL1::eFEXNtupleWriter::m_tau_rCoreWP
std::vector< float > m_tau_rCoreWP
Definition: eFEXNtupleWriter.h:82
LVL1::eFEXNtupleWriter::m_myTree
TTree * m_myTree
Definition: eFEXNtupleWriter.h:118
LVL1::eFEXNtupleWriter::m_tau_rHadWP
std::vector< float > m_tau_rHadWP
Definition: eFEXNtupleWriter.h:86
LVL1::eFEXNtupleWriter::m_truth_tauvisible_phi
std::vector< float > m_truth_tauvisible_phi
Definition: eFEXNtupleWriter.h:65
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
LVL1::eFEXNtupleWriter::m_tau_OneOffEtaTowerEt
std::vector< float > m_tau_OneOffEtaTowerEt
Definition: eFEXNtupleWriter.h:96
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
MC::isStable
bool isStable(const T &p)
Identify if the particle is stable, i.e. has not decayed.
Definition: HepMCHelpers.h:45
xAOD::Jet_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: Jet_v1.cxx:71
a
TList * a
Definition: liststreamerinfos.cxx:10
LVL1::eFEXNtupleWriter::m_tau_Phi
std::vector< float > m_tau_Phi
Definition: eFEXNtupleWriter.h:91
LVL1::eFEXNtupleWriter::m_eg_RetaDen
std::vector< float > m_eg_RetaDen
Definition: eFEXNtupleWriter.h:74
LVL1::eFEXNtupleWriter::m_tau_OneBelowEtaTowerEt
std::vector< float > m_tau_OneBelowEtaTowerEt
Definition: eFEXNtupleWriter.h:97
h
LVL1::eFEXNtupleWriter::m_truth_jet_phi
std::vector< float > m_truth_jet_phi
Definition: eFEXNtupleWriter.h:62
BindingsTest.ha
ha
Definition: BindingsTest.py:22
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LVL1::eFEXOutputCollection::tau_size
int tau_size() const
get total number of tau TOBs saved
Definition: eFEXOutputCollection.cxx:57
xAOD::TruthVertex_v1::nIncomingParticles
size_t nIncomingParticles() const
Get the number of incoming particles.
Definition: TruthVertex_v1.cxx:47
LVL1::eFEXNtupleWriter::m_tau_floatPhi
std::vector< float > m_tau_floatPhi
Definition: eFEXNtupleWriter.h:93
LVL1::eFEXNtupleWriter::m_eFex_number
std::vector< int > m_eFex_number
eFex number
Definition: eFEXNtupleWriter.h:101
LVL1::eFEXNtupleWriter::m_eg_RetaNum
std::vector< float > m_eg_RetaNum
Definition: eFEXNtupleWriter.h:73
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
LVL1::eFEXNtupleWriter::m_eg_RhadDen
std::vector< float > m_eg_RhadDen
Definition: eFEXNtupleWriter.h:76
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
xAOD::TruthParticle_v1::p4
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
Definition: TruthParticle_v1.cxx:196
xAOD::TruthParticle_v1::pdgId
int pdgId() const
PDG ID code.
LVL1::eFEXNtupleWriter::m_eg_TOB_Re
std::vector< float > m_eg_TOB_Re
Definition: eFEXNtupleWriter.h:110
LVL1::eFEXNtupleWriter::m_eg_nTOBs
int m_eg_nTOBs
number of e-gamma tobs
Definition: eFEXNtupleWriter.h:52
xAOD::Jet_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
Definition: Jet_v1.cxx:44
LVL1::eFEXNtupleWriter::m_tau_realRCore
std::vector< float > m_tau_realRCore
Definition: eFEXNtupleWriter.h:79
LVL1::eFEXNtupleWriter::m_eg_TOB_FP
std::vector< float > m_eg_TOB_FP
Definition: eFEXNtupleWriter.h:105
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
xAOD::TruthVertex_v1::outgoingParticle
const TruthParticle_v1 * outgoingParticle(size_t index) const
Get one of the outgoing particles.
Definition: TruthVertex_v1.cxx:119
Eta
@ Eta
Definition: RPCdef.h:8
fitman.k
k
Definition: fitman.py:528
LVL1::eFEXNtupleWriter::m_tau_realRHad
std::vector< float > m_tau_realRHad
Definition: eFEXNtupleWriter.h:83
LVL1::eFEXOutputCollection::get_tau
std::map< std::string, float > * get_tau(int) const
get all tau related values the ith TOB
Definition: eFEXOutputCollection.cxx:72
ServiceHandle< ITHistSvc >
LVL1::eFEXNtupleWriter::m_eg_TOB_Sd
std::vector< float > m_eg_TOB_Sd
Definition: eFEXNtupleWriter.h:111