ATLAS Offline Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DerivationFramework::GenFilterTool Class Reference

#include <GenFilterTool.h>

Inheritance diagram for DerivationFramework::GenFilterTool:
Collaboration diagram for DerivationFramework::GenFilterTool:

Public Member Functions

 GenFilterTool (const std::string &t, const std::string &n, const IInterface *p)
 
 ~GenFilterTool ()
 
virtual StatusCode addBranches () const override final
 
virtual StatusCode initialize () override final
 

Private Member Functions

StatusCode getGenFiltVars (const EventContext &ctx, float &genFiltHT, float &genFiltHTinclNu, float &genFiltMET, float &genFiltPTZ, float &genFiltFatJ) const
 
bool isPrompt (const xAOD::TruthParticle *tp) const
 

Private Attributes

SG::ReadHandleKey< xAOD::EventInfom_eventInfoKey {this,"EventInfoName" , "EventInfo"}
 
SG::ReadHandleKey< xAOD::TruthParticleContainerm_mcKey {this, "MCCollectionName", "TruthParticles"}
 
SG::ReadHandleKey< xAOD::JetContainerm_truthJetsKey {this, "TruthJetCollectionName", "AntiKt4TruthWZJets"}
 
SG::ReadHandleKey< xAOD::JetContainerm_truthFatJetsKey {this, "TruthFatJetCollectionName", "AntiKt10TruthJets"}
 
SG::ReadDecorHandleKey< xAOD::TruthParticleContainerm_mcReadDecor {this, "TruthClassKey",m_mcKey,"classifierParticleOrigin"}
 
SG::WriteDecorHandleKeyArray< xAOD::EventInfom_decorKeys {this, "DecorationKeys", {} , "Decorations added to the eventinfo"}
 
SG::WriteDecorHandleKey< xAOD::EventInfom_dec_genFiltHTKey { this, "GenFiltHTKey", m_eventInfoKey, "GenFiltHT", "GenFiltHT EventInfo decoration name" }
 
SG::WriteDecorHandleKey< xAOD::EventInfom_dec_genFiltHTinclNuKey { this, "GenFiltHTinclNuKey", m_eventInfoKey, "GenFiltHTinclNu", "GenFiltHTinclNu EventInfo decoration name" }
 
SG::WriteDecorHandleKey< xAOD::EventInfom_dec_genFiltMETKey { this, "GenFiltMET", m_eventInfoKey, "GenFiltMET", "GenFiltMET EventInfo decoration name" }
 
SG::WriteDecorHandleKey< xAOD::EventInfom_dec_genFiltPTZKey { this, "GenFiltPTZ", m_eventInfoKey, "GenFiltPTZ", "GenFiltPTZ EventInfo decoration name" }
 
SG::WriteDecorHandleKey< xAOD::EventInfom_dec_genFiltFatJKey { this, "GenFiltFatJ", m_eventInfoKey, "GenFiltFatJ", "GenFiltFatJ EventInfo decoration name" }
 
Gaudi::Property< float > m_MinJetPt {this, "MinJetPt", 35.* Gaudi::Units::GeV}
 Min pT for the truth jets. More...
 
Gaudi::Property< float > m_MaxJetEta {this, "MaxJetEta", 2.5}
 Max eta for the truth jets. More...
 
Gaudi::Property< float > m_MinLepPt {this,"MinLeptonPt", 25.*Gaudi::Units::GeV}
 Min pT for the truth leptons. More...
 
Gaudi::Property< float > m_MaxLepEta {this, "MaxLeptonEta", 2.5}
 Max eta for the truth leptons. More...
 
PublicToolHandle< IMCTruthClassifierm_classif {this, "TruthClassifier", "MCTruthClassifier/DFCommonTruthClassifier"}
 

Detailed Description

Definition at line 34 of file GenFilterTool.h.

Constructor & Destructor Documentation

◆ GenFilterTool()

DerivationFramework::GenFilterTool::GenFilterTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 33 of file GenFilterTool.cxx.

34  : base_class(t,n,p) {
35 
36 
37  }

◆ ~GenFilterTool()

DerivationFramework::GenFilterTool::~GenFilterTool ( )
default

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::GenFilterTool::addBranches ( ) const
finaloverridevirtual

Definition at line 86 of file GenFilterTool.cxx.

86  {
87  ATH_MSG_VERBOSE("GenFilterTool::addBranches()");
88  const EventContext& ctx = Gaudi::Hive::currentContext();
90  if (!eventInfo.isValid()) {
91  ATH_MSG_ERROR("could not retrieve event info " <<m_eventInfoKey.fullKey());
92  return StatusCode::FAILURE;
93  }
94 
95 
96  float genFiltHT{0.f}, genFiltHTinclNu{0.f}, genFiltMET{0.f}, genFiltPTZ{0.f}, genFiltFatJ{0.f};
97  ATH_CHECK( getGenFiltVars(ctx, genFiltHT, genFiltHTinclNu, genFiltMET, genFiltPTZ, genFiltFatJ) );
98 
99  ATH_MSG_DEBUG("Computed generator filter quantities: HT " << genFiltHT/1e3 << ", HTinclNu " << genFiltHTinclNu/1e3 << ", MET " << genFiltMET/1e3 << ", PTZ " << genFiltPTZ/1e3 << ", FatJ " << genFiltFatJ/1e3 );
100 
101  SG::makeHandle<float>(m_dec_genFiltHTKey, ctx)(*eventInfo) = genFiltHT;
102  SG::makeHandle<float>(m_dec_genFiltHTinclNuKey, ctx)(*eventInfo) = genFiltHTinclNu;
103  SG::makeHandle<float>(m_dec_genFiltMETKey, ctx)(*eventInfo) = genFiltMET;
104  SG::makeHandle<float>(m_dec_genFiltPTZKey, ctx)(*eventInfo) = genFiltPTZ;
105  SG::makeHandle<float>(m_dec_genFiltFatJKey, ctx)(*eventInfo) = genFiltFatJ;
106 
107  return StatusCode::SUCCESS;
108  }

◆ getGenFiltVars()

StatusCode DerivationFramework::GenFilterTool::getGenFiltVars ( const EventContext &  ctx,
float &  genFiltHT,
float &  genFiltHTinclNu,
float &  genFiltMET,
float &  genFiltPTZ,
float &  genFiltFatJ 
) const
private

Definition at line 110 of file GenFilterTool.cxx.

110  {
111  // Get jet container out
112 
114  if (!mcParticleOrigin.isValid()) {
115  ATH_MSG_ERROR("WARNING could not retrieve TruthParticleContainer " <<m_mcKey.fullKey());
116  return StatusCode::FAILURE;
117  }
118 
120  if (!truthjets.isValid()){
121  ATH_MSG_ERROR( "No xAOD::JetContainer found in StoreGate with key " << m_truthJetsKey );
122  return StatusCode::FAILURE;
123  }
124 
125  // Get HT
126  genFiltHT = 0.;
127  genFiltHTinclNu = 0.; // this HT definition includes neutrinos from W/Z/tau
128  for (const auto *const tj : *truthjets) {
129  if ( tj->pt()>m_MinJetPt && std::abs(tj->eta())<m_MaxJetEta ) {
130  ATH_MSG_VERBOSE("Adding truth jet with pt " << tj->pt()
131  << ", eta " << tj->eta()
132  << ", phi " << tj->phi()
133  << ", nconst = " << tj->numConstituents());
134  genFiltHT += tj->pt();
135  genFiltHTinclNu += tj->pt();
136  }
137  }
138 
139  // Get MET and add leptons to HT
140  float MEx(0.), MEy(0.);
141  for (const auto *const tp : *mcParticleOrigin){
142  int pdgid = tp->pdgId();
143  if (HepMC::is_simulation_particle(tp)) continue; // Particle is from G4
144  if (MC::isZeroEnergyPhoton(tp)) continue; // Work around for an old generator bug
145  if ( !MC::isStable(tp)) continue; // Stable!
146 
147  if ((MC::isElectron(pdgid) || MC::isMuon(pdgid)) && tp->pt()>m_MinLepPt && std::abs(tp->eta())<m_MaxLepEta) {
148  if( isPrompt(tp) ) {
149  ATH_MSG_VERBOSE("Adding prompt lepton " << tp);
150  genFiltHT += tp->pt();
151  genFiltHTinclNu += tp->pt();
152  }
153  }
154 
155  // include neutrinos from W/Z/Tau in one of the HT definitions
156  // this corresponds to a subset of HT-sliced samples where the HT filter
157  // was configured to include these particles
158  unsigned int orig = mcParticleOrigin (*tp);
159  if (tp->isNeutrino() && isFromWZTau(orig)) {
160  ATH_MSG_VERBOSE("Adding neutrino from W/Z/Tau with pt " << tp->pt()
161  << ", eta " << tp->eta()
162  << ", phi " << tp->phi()
163  << ", status " << tp->status()
164  << ", pdgId " << pdgid);
165  genFiltHTinclNu += tp->pt();
166  }
167 
169  ATH_MSG_VERBOSE("Found prompt nonInteracting particle with pt " << tp->pt()
170  << ", eta " << tp->eta()
171  << ", phi " << tp->phi()
172  << ", status " << tp->status()
173  << ", pdgId " << pdgid);
174  MEx += tp->px();
175  MEy += tp->py();
176  }
177  }
178  genFiltMET = sqrt(MEx*MEx+MEy*MEy);
179 
180  // Get PTZ
181  float PtZ(.0);
182  float MinPt_PTZ(5000.), MaxEta_PTZ(5.0), MinMass_PTZ(20000.), MaxMass_PTZ(14000000.);
183  bool AllowElecMu_PTZ = false;
184  bool AllowSameCharge_PTZ = false;
185  for (const xAOD::TruthParticle* pitr1 : *mcParticleOrigin){
186  const int pdgId1 = pitr1->pdgId();
187  if (HepMC::is_simulation_particle(pitr1)) continue;
188  if (!MC::isStable(pitr1)) continue;
189  // Pick electrons or muons with Pt > MinPt_PTZ and |eta| < m_maxEta
190  if (MC::isElectron(pdgId1) || MC::isMuon(pdgId1)) {
191  if (pitr1->pt() >= MinPt_PTZ && std::abs(pitr1->eta()) <= MaxEta_PTZ){
192  for (const xAOD::TruthParticle* pitr2 : *mcParticleOrigin){
193  if (pitr2==pitr1) continue;
194  if (HepMC::is_simulation_particle(pitr2)) continue;
195  if (!MC::isStable(pitr2)) continue;
196  const int pdgId2 = pitr2->pdgId();
197  // Pick electrons or muons with Pt > MinPt_PTZ and |eta| < MaxEta_PTZ
198  // If AllowSameCharge_PTZ is not true only pick those with opposite charge to the first particle
199  // If AllowElecMu_PTZ is true allow also Z -> emu compinations (with charge requirements as above)
200  if (!(MC::isElectron(pdgId2) || MC::isMuon(pdgId2))) continue;
201  if ( ( AllowSameCharge_PTZ && ( AllowElecMu_PTZ || std::abs(pdgId2) == std::abs(pdgId1) ) ) ||
202  ( !AllowSameCharge_PTZ && ( pdgId2 == -1*pdgId1 || (AllowElecMu_PTZ && MC::charge3(pdgId1) == MC::charge3(pdgId2) ) ) )
203  ) {
204  if (pitr2->pt() >= MinPt_PTZ && std::abs(pitr2->eta()) <= MaxEta_PTZ){
205  double invMass = (pitr1->p4()+pitr2->p4()).M();
206  double dilepPt = (pitr1->p4()+pitr2->p4()).Pt();
207  // Only consider pair that fall in the mass window
208  if (MinMass_PTZ < invMass && invMass < MaxMass_PTZ) {
209  if (dilepPt > PtZ) PtZ = dilepPt;
210  }
211  }
212  }
213  }
214  }
215  }
216  }
217  genFiltPTZ = PtZ;
218 
219  //Get FatJ
220  // Get correct jet container
222  if ( !truthjets10.isValid()){
223  ATH_MSG_ERROR( "No xAOD::JetContainer found in StoreGate with key "<<m_truthFatJetsKey.fullKey() );
224  return StatusCode::FAILURE;
225  }
226  genFiltFatJ=0.;
227  for (const auto *const j : *truthjets10) {
228  if (j->pt()>genFiltFatJ) genFiltFatJ=j->pt();
229  }
230 
231 
232  return StatusCode::SUCCESS;
233  }

◆ initialize()

StatusCode DerivationFramework::GenFilterTool::initialize ( )
finaloverridevirtual

◆ isPrompt()

bool DerivationFramework::GenFilterTool::isPrompt ( const xAOD::TruthParticle tp) const
private

Definition at line 42 of file GenFilterTool.cxx.

43  {
44  ParticleOrigin orig = m_classif->particleTruthClassifier( tp ).second;
45  ATH_MSG_VERBOSE("Particle has origin " << orig);
46 
47  switch(orig) {
48  case NonDefined:
49  case PhotonConv:
50  case DalitzDec:
51  case ElMagProc:
52  case Mu:
53  case LightMeson:
54  case StrangeMeson:
55  case CharmedMeson:
56  case BottomMeson:
57  case CCbarMeson:
58  case JPsi:
59  case BBbarMeson:
60  case LightBaryon:
61  case StrangeBaryon:
62  case CharmedBaryon:
63  case BottomBaryon:
64  case PionDecay:
65  case KaonDecay:
66  return false;
67  default:
68  break;
69  }
70  return true;
71  }

Member Data Documentation

◆ m_classif

PublicToolHandle<IMCTruthClassifier> DerivationFramework::GenFilterTool::m_classif {this, "TruthClassifier", "MCTruthClassifier/DFCommonTruthClassifier"}
private

Definition at line 74 of file GenFilterTool.h.

◆ m_dec_genFiltFatJKey

SG::WriteDecorHandleKey<xAOD::EventInfo> DerivationFramework::GenFilterTool::m_dec_genFiltFatJKey { this, "GenFiltFatJ", m_eventInfoKey, "GenFiltFatJ", "GenFiltFatJ EventInfo decoration name" }
private

Definition at line 66 of file GenFilterTool.h.

◆ m_dec_genFiltHTinclNuKey

SG::WriteDecorHandleKey<xAOD::EventInfo> DerivationFramework::GenFilterTool::m_dec_genFiltHTinclNuKey { this, "GenFiltHTinclNuKey", m_eventInfoKey, "GenFiltHTinclNu", "GenFiltHTinclNu EventInfo decoration name" }
private

Definition at line 60 of file GenFilterTool.h.

◆ m_dec_genFiltHTKey

SG::WriteDecorHandleKey<xAOD::EventInfo> DerivationFramework::GenFilterTool::m_dec_genFiltHTKey { this, "GenFiltHTKey", m_eventInfoKey, "GenFiltHT", "GenFiltHT EventInfo decoration name" }
private

Definition at line 58 of file GenFilterTool.h.

◆ m_dec_genFiltMETKey

SG::WriteDecorHandleKey<xAOD::EventInfo> DerivationFramework::GenFilterTool::m_dec_genFiltMETKey { this, "GenFiltMET", m_eventInfoKey, "GenFiltMET", "GenFiltMET EventInfo decoration name" }
private

Definition at line 62 of file GenFilterTool.h.

◆ m_dec_genFiltPTZKey

SG::WriteDecorHandleKey<xAOD::EventInfo> DerivationFramework::GenFilterTool::m_dec_genFiltPTZKey { this, "GenFiltPTZ", m_eventInfoKey, "GenFiltPTZ", "GenFiltPTZ EventInfo decoration name" }
private

Definition at line 64 of file GenFilterTool.h.

◆ m_decorKeys

SG::WriteDecorHandleKeyArray<xAOD::EventInfo> DerivationFramework::GenFilterTool::m_decorKeys {this, "DecorationKeys", {} , "Decorations added to the eventinfo"}
private

Definition at line 56 of file GenFilterTool.h.

◆ m_eventInfoKey

SG::ReadHandleKey<xAOD::EventInfo> DerivationFramework::GenFilterTool::m_eventInfoKey {this,"EventInfoName" , "EventInfo"}
private

Definition at line 48 of file GenFilterTool.h.

◆ m_MaxJetEta

Gaudi::Property<float> DerivationFramework::GenFilterTool::m_MaxJetEta {this, "MaxJetEta", 2.5}
private

Max eta for the truth jets.

Definition at line 70 of file GenFilterTool.h.

◆ m_MaxLepEta

Gaudi::Property<float> DerivationFramework::GenFilterTool::m_MaxLepEta {this, "MaxLeptonEta", 2.5}
private

Max eta for the truth leptons.

Definition at line 72 of file GenFilterTool.h.

◆ m_mcKey

SG::ReadHandleKey<xAOD::TruthParticleContainer> DerivationFramework::GenFilterTool::m_mcKey {this, "MCCollectionName", "TruthParticles"}
private

Definition at line 49 of file GenFilterTool.h.

◆ m_mcReadDecor

SG::ReadDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::GenFilterTool::m_mcReadDecor {this, "TruthClassKey",m_mcKey,"classifierParticleOrigin"}
private

Definition at line 53 of file GenFilterTool.h.

◆ m_MinJetPt

Gaudi::Property<float> DerivationFramework::GenFilterTool::m_MinJetPt {this, "MinJetPt", 35.* Gaudi::Units::GeV}
private

Min pT for the truth jets.

Definition at line 69 of file GenFilterTool.h.

◆ m_MinLepPt

Gaudi::Property<float> DerivationFramework::GenFilterTool::m_MinLepPt {this,"MinLeptonPt", 25.*Gaudi::Units::GeV}
private

Min pT for the truth leptons.

Definition at line 71 of file GenFilterTool.h.

◆ m_truthFatJetsKey

SG::ReadHandleKey<xAOD::JetContainer> DerivationFramework::GenFilterTool::m_truthFatJetsKey {this, "TruthFatJetCollectionName", "AntiKt10TruthJets"}
private

Definition at line 51 of file GenFilterTool.h.

◆ m_truthJetsKey

SG::ReadHandleKey<xAOD::JetContainer> DerivationFramework::GenFilterTool::m_truthJetsKey {this, "TruthJetCollectionName", "AntiKt4TruthWZJets"}
private

Definition at line 50 of file GenFilterTool.h.


The documentation for this class was generated from the following files:
StrangeMeson
@ StrangeMeson
Definition: TruthClasses.h:80
P4Helpers::invMass
double invMass(const I4Momentum &pA, const I4Momentum &pB)
invariant mass from two I4momentum references
Definition: P4Helpers.h:252
Mu
@ Mu
Definition: TruthClasses.h:62
BBbarMeson
@ BBbarMeson
Definition: TruthClasses.h:85
BottomMeson
@ BottomMeson
Definition: TruthClasses.h:82
MC::isSpecialNonInteracting
bool isSpecialNonInteracting(const T &p)
Identify a special non-interacting particles.
Definition: HepMCHelpers.h:83
PionDecay
@ PionDecay
Definition: TruthClasses.h:90
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
ElMagProc
@ ElMagProc
Definition: TruthClasses.h:61
ParticleTest.tp
tp
Definition: ParticleTest.py:25
PhotonConv
@ PhotonConv
Definition: TruthClasses.h:59
DerivationFramework::GenFilterTool::m_truthFatJetsKey
SG::ReadHandleKey< xAOD::JetContainer > m_truthFatJetsKey
Definition: GenFilterTool.h:51
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
DerivationFramework::GenFilterTool::m_mcReadDecor
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_mcReadDecor
Definition: GenFilterTool.h:53
DerivationFramework::GenFilterTool::m_MaxJetEta
Gaudi::Property< float > m_MaxJetEta
Max eta for the truth jets.
Definition: GenFilterTool.h:70
DerivationFramework::GenFilterTool::m_MinJetPt
Gaudi::Property< float > m_MinJetPt
Min pT for the truth jets.
Definition: GenFilterTool.h:69
CCbarMeson
@ CCbarMeson
Definition: TruthClasses.h:83
NonDefined
@ NonDefined
Definition: TruthClasses.h:52
DerivationFramework::GenFilterTool::m_decorKeys
SG::WriteDecorHandleKeyArray< xAOD::EventInfo > m_decorKeys
Definition: GenFilterTool.h:56
DerivationFramework::GenFilterTool::m_dec_genFiltHTinclNuKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_dec_genFiltHTinclNuKey
Definition: GenFilterTool.h:61
DerivationFramework::GenFilterTool::m_classif
PublicToolHandle< IMCTruthClassifier > m_classif
Definition: GenFilterTool.h:74
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
CharmedBaryon
@ CharmedBaryon
Definition: TruthClasses.h:88
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
SG::ReadDecorHandle
Handle class for reading a decoration on an object.
Definition: StoreGate/StoreGate/ReadDecorHandle.h:94
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
SG::ReadDecorHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
DerivationFramework::GenFilterTool::getGenFiltVars
StatusCode getGenFiltVars(const EventContext &ctx, float &genFiltHT, float &genFiltHTinclNu, float &genFiltMET, float &genFiltPTZ, float &genFiltFatJ) const
Definition: GenFilterTool.cxx:110
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ParticleOrigin
ParticleOrigin
Definition: TruthClasses.h:51
xAOD::EgammaHelpers::isElectron
bool isElectron(const xAOD::Egamma *eg)
is the object an electron (not Fwd)
Definition: EgammaxAODHelpers.cxx:12
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:37
StrangeBaryon
@ StrangeBaryon
Definition: TruthClasses.h:87
LightMeson
@ LightMeson
Definition: TruthClasses.h:79
DerivationFramework::GenFilterTool::m_MaxLepEta
Gaudi::Property< float > m_MaxLepEta
Max eta for the truth leptons.
Definition: GenFilterTool.h:72
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
JPsi
@ JPsi
Definition: TruthClasses.h:84
CharmedMeson
@ CharmedMeson
Definition: TruthClasses.h:81
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
DerivationFramework::GenFilterTool::m_dec_genFiltHTKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_dec_genFiltHTKey
Definition: GenFilterTool.h:59
DerivationFramework::GenFilterTool::m_truthJetsKey
SG::ReadHandleKey< xAOD::JetContainer > m_truthJetsKey
Definition: GenFilterTool.h:50
DerivationFramework::GenFilterTool::isPrompt
bool isPrompt(const xAOD::TruthParticle *tp) const
Definition: GenFilterTool.cxx:42
BottomBaryon
@ BottomBaryon
Definition: TruthClasses.h:89
columnar::ContainerId::eventInfo
@ eventInfo
LightBaryon
@ LightBaryon
Definition: TruthClasses.h:86
DerivationFramework::GenFilterTool::m_mcKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_mcKey
Definition: GenFilterTool.h:49
DerivationFramework::GenFilterTool::m_eventInfoKey
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfoKey
Definition: GenFilterTool.h:48
MC::isStable
bool isStable(const T &p)
Identify if the particle is stable, i.e. has not decayed.
Definition: HepMCHelpers.h:45
Prompt::Def::Pt
@ Pt
Definition: VarHolder.h:76
SG::WriteDecorHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
DerivationFramework::GenFilterTool::m_dec_genFiltFatJKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_dec_genFiltFatJKey
Definition: GenFilterTool.h:67
charge3
int charge3(const T &p)
Definition: AtlasPID.h:929
DerivationFramework::GenFilterTool::m_dec_genFiltMETKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_dec_genFiltMETKey
Definition: GenFilterTool.h:63
DerivationFramework::GenFilterTool::m_MinLepPt
Gaudi::Property< float > m_MinLepPt
Min pT for the truth leptons.
Definition: GenFilterTool.h:71
DalitzDec
@ DalitzDec
Definition: TruthClasses.h:60
MC::isZeroEnergyPhoton
bool isZeroEnergyPhoton(const T &p)
Identify a photon with zero energy. Probably a workaround for a generator bug.
Definition: HepMCHelpers.h:71
KaonDecay
@ KaonDecay
Definition: TruthClasses.h:91
isMuon
bool isMuon(const T &p)
Definition: AtlasPID.h:194
DerivationFramework::GenFilterTool::m_dec_genFiltPTZKey
SG::WriteDecorHandleKey< xAOD::EventInfo > m_dec_genFiltPTZKey
Definition: GenFilterTool.h:65