|
ATLAS Offline Software
|
#include <eFEXNtupleWriter.h>
|
| 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 |
|
Definition at line 26 of file eFEXNtupleWriter.h.
◆ StoreGateSvc_t
◆ eFEXNtupleWriter()
eFEXNtupleWriter::eFEXNtupleWriter |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~eFEXNtupleWriter()
eFEXNtupleWriter::~eFEXNtupleWriter |
( |
| ) |
|
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode eFEXNtupleWriter::execute |
( |
| ) |
|
execute the Algorithm
Definition at line 107 of file eFEXNtupleWriter.cxx.
109 if(!eFEXOutputCollectionobj.
isValid()){
111 return StatusCode::FAILURE;
114 return StatusCode::SUCCESS;
128 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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.
57 return Algorithm::extraOutputDeps();
◆ finalize()
StatusCode eFEXNtupleWriter::finalize |
( |
| ) |
|
◆ getbits()
uint32_t eFEXNtupleWriter::getbits |
( |
uint32_t |
in, |
|
|
int |
start, |
|
|
int |
end |
|
) |
| |
|
private |
extract bits from a 32-bit TOB words
- Parameters
-
in | TOB word |
start | start position (start from 1) |
end | end position (start from 1) |
- Returns
- extracted bit word
Definition at line 413 of file eFEXNtupleWriter.cxx.
◆ getMother()
find the nearest mother particle in the decay chain with the specified particle id.
Definition at line 401 of file eFEXNtupleWriter.cxx.
403 if (!productionVector)
return NULL;
406 if (mother->
pdgId()==motherPid)
return mother;
408 if (grandmother)
return grandmother;
◆ initialize()
StatusCode eFEXNtupleWriter::initialize |
( |
| ) |
|
◆ inputHandles()
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()
calculate the 4-vector of all the invisible decay products of the tau
Definition at line 373 of file eFEXNtupleWriter.cxx.
374 std::unique_ptr<TLorentzVector> psum(
new TLorentzVector(0,0,0,0));
384 int pid = std::abs(each_particle->
pdgId());
388 if (
pid == 11 ||
pid == 13)
return std::unique_ptr<TLorentzVector>(
nullptr);
390 if (
pid == 12 ||
pid == 14 ||
pid == 16) (*psum) += each_particle->
p4();
393 std::unique_ptr<TLorentzVector> p4_tem =
invisibleTauP4(each_particle);
394 if (!p4_tem)
return std::unique_ptr<TLorentzVector>(
nullptr);
395 (*psum) += (*p4_tem);
◆ loadegAlgoTOBs()
save variables in the e-gamma TOB word
Definition at line 220 of file eFEXNtupleWriter.cxx.
232 for (
int i = 0;
i < eFEXOutputCollectionobj->
size();
i++)
260 return StatusCode::SUCCESS;
◆ loadegAlgoVariables()
save variables related to the e-gamma algorithm
Definition at line 185 of file eFEXNtupleWriter.cxx.
201 for (
int i = 0;
i < eFEXOutputCollectionobj->
size();
i++)
203 std::map<std::string, float> eFEXegvalue_tem = (*(eFEXOutputCollectionobj->
get_eg(
i)));
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"]);
217 return StatusCode::SUCCESS;
◆ loadtauAlgoVariables()
save variables related to the tau algorithm
Definition at line 136 of file eFEXNtupleWriter.cxx.
158 for (
int i = 0;
i < eFEXOutputCollectionobj->
tau_size();
i++)
182 return StatusCode::SUCCESS;
◆ loadTruthElectron()
StatusCode eFEXNtupleWriter::loadTruthElectron |
( |
| ) |
|
|
private |
save variables related to truth electrons
Definition at line 263 of file eFEXNtupleWriter.cxx.
269 for(
auto ite : *truthEvents) {
270 int nParticle = ite->nTruthParticles();
271 for(
int i = 0;
i < nParticle;
i++){
279 if(std::abs(each_particle->
pdgId()) != 11)
continue;
281 if(!
getMother(each_particle, 23))
continue;
288 return StatusCode::SUCCESS;
◆ loadTruthJets()
StatusCode eFEXNtupleWriter::loadTruthJets |
( |
| ) |
|
|
private |
save variables related to truth jets
Definition at line 291 of file eFEXNtupleWriter.cxx.
297 if (
sc == StatusCode::FAILURE){
300 if (sc2 == StatusCode::FAILURE){
301 ATH_MSG_DEBUG(
"eFEXNtupleWriter::loadTruthJets() Unable to determine truth jet container");
303 return StatusCode::SUCCESS;
306 for (
unsigned i=0;
i!=truth_jets->
size();
i++) {
308 if(each_jet->
pt()<10000)
continue;
313 return StatusCode::SUCCESS;
◆ loadTruthTau()
StatusCode eFEXNtupleWriter::loadTruthTau |
( |
| ) |
|
|
private |
save variables related to truth taus
Definition at line 316 of file eFEXNtupleWriter.cxx.
322 for (
auto ite : *truthEvents) {
323 int nParticle = ite->nTruthParticles();
324 for(
int i = 0;
i < nParticle;
i++) {
331 if (std::abs(each_particle->
pdgId()) != 15)
continue;
332 std::unique_ptr<TLorentzVector> p4_visible =
visibleTauP4(each_particle);
334 if (!p4_visible)
break;
340 return StatusCode::SUCCESS;
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ visibleTauP4()
calculate the 4-vector of all the visible decay products of the tau
Definition at line 343 of file eFEXNtupleWriter.cxx.
344 std::unique_ptr<TLorentzVector> psum(
new TLorentzVector(0,0,0,0));
355 int pid = std::abs(each_particle->
pdgId());
359 if (
pid == 12 ||
pid == 14 ||
pid == 16)
continue;
361 if (
pid == 11 ||
pid == 13)
return std::unique_ptr<TLorentzVector>(
nullptr);
362 (*psum) += each_particle->
p4();
365 std::unique_ptr<TLorentzVector> p4_tem =
visibleTauP4(each_particle);
366 if (!p4_tem)
return std::unique_ptr<TLorentzVector>(
nullptr);
367 (*psum) += (*p4_tem);
◆ m_detStore
◆ m_eFex_number
std::vector<int> LVL1::eFEXNtupleWriter::m_eFex_number |
|
private |
◆ m_eFEXOutputCollectionSGKey
◆ m_eg_ET
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_ET |
|
private |
◆ m_eg_eta
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_eta |
|
private |
◆ m_eg_haveseed
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_haveseed |
|
private |
◆ m_eg_nTOBs
int LVL1::eFEXNtupleWriter::m_eg_nTOBs |
|
private |
◆ m_eg_phi
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_phi |
|
private |
◆ m_eg_RetaDen
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RetaDen |
|
private |
◆ m_eg_RetaNum
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RetaNum |
|
private |
◆ m_eg_RhadDen
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RhadDen |
|
private |
◆ m_eg_RhadNum
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_RhadNum |
|
private |
◆ m_eg_tob
std::vector<uint32_t> LVL1::eFEXNtupleWriter::m_eg_tob |
|
private |
◆ m_eg_TOB_energy
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_energy |
|
private |
◆ m_eg_TOB_Eta
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Eta |
|
private |
◆ m_eg_TOB_f3
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_f3 |
|
private |
◆ m_eg_TOB_FP
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_FP |
|
private |
◆ m_eg_TOB_ha
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_ha |
|
private |
◆ m_eg_TOB_Max
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Max |
|
private |
◆ m_eg_TOB_Phi
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Phi |
|
private |
◆ m_eg_TOB_Re
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Re |
|
private |
◆ m_eg_TOB_Sd
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_Sd |
|
private |
◆ m_eg_TOB_UnD
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_UnD |
|
private |
◆ m_eg_TOB_zeros
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_TOB_zeros |
|
private |
◆ m_eg_WstotDen
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_WstotDen |
|
private |
◆ m_eg_WstotNum
std::vector<float> LVL1::eFEXNtupleWriter::m_eg_WstotNum |
|
private |
◆ m_em
std::vector<float> LVL1::eFEXNtupleWriter::m_em |
|
private |
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_had
std::vector<float> LVL1::eFEXNtupleWriter::m_had |
|
private |
◆ m_jet_container_name
std::string LVL1::eFEXNtupleWriter::m_jet_container_name = "AntiKt10TruthJets" |
|
private |
◆ m_load_truth_jet
bool LVL1::eFEXNtupleWriter::m_load_truth_jet |
|
private |
◆ m_myTree
TTree* LVL1::eFEXNtupleWriter::m_myTree |
|
private |
◆ m_tau_CenterTowerEt
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_CenterTowerEt |
|
private |
◆ m_tau_eFEXID
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_eFEXID |
|
private |
◆ m_tau_Et
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_Et |
|
private |
◆ m_tau_Eta
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_Eta |
|
private |
◆ m_tau_floatEta
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_floatEta |
|
private |
◆ m_tau_floatPhi
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_floatPhi |
|
private |
◆ m_tau_FPGAID
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_FPGAID |
|
private |
◆ m_tau_isCentralTowerSeed
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_isCentralTowerSeed |
|
private |
◆ m_tau_OneBelowEtaTowerEt
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_OneBelowEtaTowerEt |
|
private |
◆ m_tau_OneOffEtaTowerEt
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_OneOffEtaTowerEt |
|
private |
◆ m_tau_Phi
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_Phi |
|
private |
◆ m_tau_rCoreCore
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rCoreCore |
|
private |
◆ m_tau_rCoreEnv
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rCoreEnv |
|
private |
◆ m_tau_rCoreWP
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rCoreWP |
|
private |
◆ m_tau_realRCore
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_realRCore |
|
private |
◆ m_tau_realRHad
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_realRHad |
|
private |
◆ m_tau_rHadCore
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rHadCore |
|
private |
◆ m_tau_rHadEnv
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rHadEnv |
|
private |
◆ m_tau_rHadWP
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_rHadWP |
|
private |
◆ m_tau_seed
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_seed |
|
private |
◆ m_tau_und
std::vector<float> LVL1::eFEXNtupleWriter::m_tau_und |
|
private |
◆ m_truth_e_ET
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_e_ET |
|
private |
◆ m_truth_e_eta
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_e_eta |
|
private |
◆ m_truth_e_phi
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_e_phi |
|
private |
◆ m_truth_jet_ET
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_jet_ET |
|
private |
◆ m_truth_jet_eta
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_jet_eta |
|
private |
◆ m_truth_jet_phi
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_jet_phi |
|
private |
◆ m_truth_tauvisible_ET
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_tauvisible_ET |
|
private |
◆ m_truth_tauvisible_eta
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_tauvisible_eta |
|
private |
◆ m_truth_tauvisible_phi
std::vector<float> LVL1::eFEXNtupleWriter::m_truth_tauvisible_phi |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
std::vector< float > m_eg_TOB_Max
std::vector< float > m_em
def retrieve(aClass, aKey=None)
StatusCode loadegAlgoVariables(SG::ReadHandle< LVL1::eFEXOutputCollection >)
save variables related to the e-gamma algorithm
size_t nOutgoingParticles() const
Get the number of outgoing particles.
StatusCode loadegAlgoTOBs(SG::ReadHandle< LVL1::eFEXOutputCollection >)
save variables in the e-gamma TOB word
uint32_t getbits(uint32_t in, int start, int end)
extract bits from a 32-bit TOB words
std::vector< float > m_tau_rHadEnv
std::vector< float > m_tau_seed
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
std::vector< float > m_eg_eta
std::vector< float > m_truth_tauvisible_ET
std::vector< float > m_truth_e_eta
StatusCode loadTruthJets()
save variables related to truth jets
std::vector< float > m_tau_rCoreCore
std::vector< float > m_tau_CenterTowerEt
std::vector< float > m_eg_haveseed
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
SG::ReadHandleKey< LVL1::eFEXOutputCollection > m_eFEXOutputCollectionSGKey
readhandle key for eFEXOutputCollection
std::vector< float > m_truth_tauvisible_eta
std::vector< float > m_tau_rHadCore
const std::vector< int > & geteFexNumber() const
get the eFEX numbers of all TOBs
std::vector< float > m_truth_jet_ET
StatusCode loadTruthTau()
save variables related to truth taus
StatusCode loadTruthElectron()
save variables related to truth electrons
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
std::vector< float > m_eg_TOB_Eta
const std::string & key() const
Return the StoreGate ID for the referenced object.
const std::vector< uint32_t > & getEMtob() const
get all e-gamma TOB words of an event
std::string m_jet_container_name
truth jet type
std::vector< float > m_truth_e_phi
std::vector< float > m_tau_FPGAID
std::vector< float > m_tau_eFEXID
std::vector< float > m_eg_phi
std::vector< float > m_eg_WstotNum
StatusCode loadtauAlgoVariables(SG::ReadHandle< LVL1::eFEXOutputCollection >)
save variables related to the tau algorithm
std::vector< float > m_tau_und
std::vector< float > m_eg_TOB_Phi
std::vector< float > m_eg_RhadNum
virtual void setOwner(IDataHandleHolder *o)=0
std::vector< float > m_tau_Et
std::vector< float > m_tau_isCentralTowerSeed
std::vector< float > m_eg_ET
@ f3
fraction of energy reconstructed in 3rd sampling
bool isPhysical(const T &p)
Identify if the particle is physical, i.e. is stable or decayed.
std::vector< float > m_tau_rCoreEnv
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
std::vector< float > m_tau_floatEta
std::unique_ptr< TLorentzVector > visibleTauP4(const xAOD::TruthParticle *)
calculate the 4-vector of all the visible decay products of the tau
virtual StatusCode sysInitialize() override
Override sysInitialize.
std::vector< float > m_eg_TOB_f3
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
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...
::StatusCode StatusCode
StatusCode definition for legacy code.
Class describing a truth particle in the MC record.
std::vector< float > m_had
std::vector< float > m_truth_jet_eta
std::vector< float > m_truth_e_ET
const xAOD::TruthParticle * getMother(const xAOD::TruthParticle *, int)
find the nearest mother particle in the decay chain with the specified particle id.
#define CHECK(...)
Evaluate an expression and check for errors.
std::map< std::string, float > * get_eg(int) const
get all e-gamma related values the ith TOB
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
const TruthParticle_v1 * incomingParticle(size_t index) const
Get one of the incoming particles.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
bool m_load_truth_jet
if load truth jets
std::vector< float > m_eg_TOB_energy
std::vector< float > m_eg_WstotDen
bool getdooutput() const
return to true if ntuple output is needed
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::vector< float > m_eg_TOB_zeros
Class describing a truth vertex in the MC record.
std::vector< float > m_eg_TOB_ha
int size() const
get total number of eg TOBs saved
std::vector< float > m_eg_TOB_UnD
std::unique_ptr< TLorentzVector > invisibleTauP4(const xAOD::TruthParticle *)
calculate the 4-vector of all the invisible decay products of the tau
std::vector< float > m_tau_Eta
std::vector< float > m_tau_rCoreWP
std::vector< float > m_tau_rHadWP
std::vector< float > m_truth_tauvisible_phi
std::vector< float > m_tau_OneOffEtaTowerEt
DataObjIDColl m_extendedExtraObjects
bool isStable(const T &p)
Identify if the particle is stable, i.e. has not decayed.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
std::vector< float > m_tau_Phi
std::vector< float > m_eg_RetaDen
std::vector< float > m_tau_OneBelowEtaTowerEt
std::vector< float > m_truth_jet_phi
#define ATH_MSG_WARNING(x)
int tau_size() const
get total number of tau TOBs saved
size_t nIncomingParticles() const
Get the number of incoming particles.
std::vector< float > m_tau_floatPhi
std::vector< int > m_eFex_number
eFex number
std::vector< float > m_eg_RetaNum
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
std::vector< float > m_eg_RhadDen
AthAlgorithm()
Default constructor:
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
int pdgId() const
PDG ID code.
std::vector< float > m_eg_TOB_Re
int m_eg_nTOBs
number of e-gamma tobs
virtual double pt() const
The transverse momentum ( ) of the particle.
std::vector< float > m_tau_realRCore
std::vector< float > m_eg_TOB_FP
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
const TruthParticle_v1 * outgoingParticle(size_t index) const
Get one of the outgoing particles.
std::vector< float > m_tau_realRHad
std::map< std::string, float > * get_tau(int) const
get all tau related values the ith TOB
std::vector< float > m_eg_TOB_Sd