ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
DerivationFramework::TruthDressingTool Class Reference

#include <TruthDressingTool.h>

Inheritance diagram for DerivationFramework::TruthDressingTool:
Collaboration diagram for DerivationFramework::TruthDressingTool:

Public Member Functions

 TruthDressingTool (const std::string &t, const std::string &n, const IInterface *p)
 
 ~TruthDressingTool ()
 
StatusCode initialize ()
 
virtual StatusCode addBranches () const
 Pass the thinning service
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 sysInitialize () override
 Perform system initialization for an algorithm. 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
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 AlgTool interface methods. More...
 

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

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< xAOD::TruthParticleContainerm_particlesKey {this, "particlesKey", "TruthParticles", "ReadHandleKey for TruthParticles for photon list input"}
 ReadHandleKey input collection key. More...
 
SG::ReadHandleKey< xAOD::TruthParticleContainerm_dressParticlesKey {this, "dressParticlesKey", "TruthParticles", "ReadHandleKey for input particles to be dressed. If taus are selected, everything in this input key will be used"}
 ReadHandleKey for particles to be dressed. More...
 
SG::ReadDecorHandleKey< xAOD::TruthParticleContainerm_truthClassKey {this, "truthClassifierKey", "", "Will be over written during initialize"}
 Ensure that the algorithm is scheduled after the truth classifier. More...
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_eKey {this, "e_dressed", "TruthParticles.e_dressed", "e_dressed decoration"}
 WriteDecorHandleKeys for decorations. More...
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_ptKey {this, "pt_dressed", "TruthParticles.pt_dressed", "pt_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_etaKey {this, "eta_dressed", "TruthParticles.eta_dressed", "eta_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_phiKey {this, "phi_dressed", "TruthParticles.phi_dressed", "phi_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_pt_visKey {this, "pt_vis_dressed", "TruthParticles.pt_vis_dressed", "pt_vis_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_eta_visKey {this, "eta_vis_dressed", "TruthParticles.eta_vis_dressed", "eta_vis_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_phi_visKey {this, "phi_vis_dressed", "TruthParticles.phi_vis_dressed", "phi_vis_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_m_visKey {this, "m_vis_dressed", "TruthParticles.m_vis_dressed", "m_vis_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorator_nphotonKey {this, "nPhotons_dressed", "TruthParticles.nPhotons_dressed", "nPhotons_dressed decoration"}
 
SG::WriteDecorHandleKey< xAOD::TruthParticleContainerm_decorationKey {this, "DressingKey", "TruthParticles.dressedPhoton", "Dressed photon decoration"}
 
Gaudi::Property< bool > m_usePhotonsFromHadrons {this, "usePhotonsFromHadrons", false, "Add photons coming from hadron decays while dressing"}
 Parameter: Use photons from hadron decays? More...
 
Gaudi::Property< bool > m_useLeptonsFromHadrons {this, "useLeptonsFromHadrons", false, "Consider leptons coming from hadron decays?"}
 Parameter: Use leptons from hadron decays? More...
 
Gaudi::Property< float > m_coneSize {this, "dressingConeSize", 0.1, "Size of dR cone in which to include FSR photons in dressing"}
 Parameter: Cone size for dressing. More...
 
Gaudi::Property< std::vector< int > > m_listOfPIDs {this, "particleIDsToDress", {11,13}, "List of the pdgID's of particles to be dressed (usually 11,13). Special treatment for taus (15)"}
 Parameter: List of pdgIDs of particles to dress. More...
 
Gaudi::Property< bool > m_useAntiKt {this, "useAntiKt", false, "use anti-k_T instead of fixed-cone dressing"}
 Parameter: Use antikT algorithm for dressing? More...
 
Gaudi::Property< std::string > m_decorationName {this, "decorationName", "", "Name of the decoration for photons that were used in dressing"}
 Parameter: Name of the decoration to apply. More...
 
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 22 of file TruthDressingTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TruthDressingTool()

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

Definition at line 29 of file TruthDressingTool.cxx.

32  : AthAlgTool(t,n,p)
33 {
34  declareInterface<DerivationFramework::IAugmentationTool>(this);
35 }

◆ ~TruthDressingTool()

DerivationFramework::TruthDressingTool::~TruthDressingTool ( )

Definition at line 38 of file TruthDressingTool.cxx.

38  {
39 }

Member Function Documentation

◆ addBranches()

StatusCode DerivationFramework::TruthDressingTool::addBranches ( ) const
virtual

Pass the thinning service

Implements DerivationFramework::IAugmentationTool.

Definition at line 74 of file TruthDressingTool.cxx.

75 {
76  // Get the event context
77  const EventContext& ctx = Gaudi::Hive::currentContext();
78 
79  // Retrieve the truth collections
81  if (!truthParticles.isValid()) {
82  ATH_MSG_ERROR("Couldn't retrieve TruthParticle collection with name " << m_particlesKey);
83  return StatusCode::FAILURE;
84  }
85 
87  if (!dressTruthParticles.isValid()) {
88  ATH_MSG_ERROR("Couldn't retrieve TruthParticle collection with name " << m_dressParticlesKey);
89  return StatusCode::FAILURE;
90  }
91 
92  // Decorators
97  // for truth taus, use 'vis' in the decoration name to avoid prompt/visible tau momentum ambiguity
98  // use (pt,eta,phi,m) for taus, for consistency with other TauAnalysisTools decorations
104  // One for the photons as well
106  // If we want to decorate, then we need to decorate everything with false to begin with
107  if (!m_decorationKey.key().empty()){
108  if (!dressDec.isAvailable()) {
109  for (const auto * particle : *truthParticles){
110  dressDec(*particle);
111  }
112  } // Loop over particles
113  } // We are using the decoration
114 
115  //get struct of helper functions
117 
118  std::vector<const xAOD::TruthParticle*> listOfParticlesToDress;
119  std::vector<xAOD::TruthParticle::FourMom_t> listOfDressedParticles;
120  std::vector<int> dressedParticlesNPhot;
121 
122  if(m_listOfPIDs.size()==1 && abs(m_listOfPIDs[0])==15) {
123  // when dressing only truth taus, it is assumed that the truth tau container has
124  // been built beforehand and is used as input
125  for (auto *pItr : *dressTruthParticles) {
126  listOfParticlesToDress.push_back(pItr);
127  }
128  }
129  else {
130  // non-prompt particles are still included here to ensure all particles
131  // will get the decoration; however further down only the prompt particles
132  // are actually dressed depending on the value of m_useLeptonsFromHadrons
133  decayHelper.constructListOfFinalParticles(dressTruthParticles.ptr(), listOfParticlesToDress, m_listOfPIDs, true);
134  }
135 
136  //initialize list of dressed particles
137  for (const auto& part : listOfParticlesToDress) {
138  listOfDressedParticles.push_back(part->p4());
139  dressedParticlesNPhot.push_back(0);
140  }
141 
142  //fill the photon list
143  std::vector<const xAOD::TruthParticle*> photonsFSRList;
144  std::vector<int> photonPID{22};
145  const bool pass = decayHelper.constructListOfFinalParticles(truthParticles.ptr(), photonsFSRList,
146  photonPID, m_usePhotonsFromHadrons);
147  if (!pass) {
148  ATH_MSG_WARNING("Cannot construct the list of final state particles "<<m_truthClassKey.fullKey());
149  }
150 
151  static const SG::ConstAccessor<double> pt_visAcc("pt_vis");
152  static const SG::ConstAccessor<double> eta_visAcc("eta_vis");
153  static const SG::ConstAccessor<double> phi_visAcc("phi_vis");
154  static const SG::ConstAccessor<double> mvisAcc("m_vis");
155 
156  // Do dR-based photon dressing (default)
157  if (!m_useAntiKt){
158  //loop over photons, uniquely associate each to nearest bare particle
159  for (const auto& phot : photonsFSRList ) {
160  double dRmin = m_coneSize;
161  int idx = -1;
162 
163  for (size_t i = 0; i < listOfParticlesToDress.size(); ++i) {
165  if (!acc_origin.isAvailable(*listOfParticlesToDress[i])) {
166  ATH_MSG_WARNING("MCTruthClassifier "<<m_truthClassKey.fullKey() <<" not available, cannot apply notFromHadron veto!");
167  }
168  unsigned int result = acc_origin(*listOfParticlesToDress[i]);
169  const bool isPrompt = MCTruthPartClassifier::isPrompt(result, true);
170  if (!isPrompt) continue;
171  }
173  if(listOfParticlesToDress[i]->isTau()) {
174 
175  if( !pt_visAcc.isAvailable(*listOfParticlesToDress[i]) ||
176  !eta_visAcc.isAvailable(*listOfParticlesToDress[i]) ||
177  !phi_visAcc.isAvailable(*listOfParticlesToDress[i]) ||
178  !mvisAcc.isAvailable(*listOfParticlesToDress[i])) {
179  ATH_MSG_ERROR("Visible momentum not available for truth taus, cannot perform dressing!");
180  return StatusCode::FAILURE;
181  }
182 
183  bare_part.SetPtEtaPhiM(pt_visAcc(*listOfParticlesToDress[i]),
184  eta_visAcc(*listOfParticlesToDress[i]),
185  phi_visAcc(*listOfParticlesToDress[i]),
186  mvisAcc(*listOfParticlesToDress[i]));
187  }
188  else {
189  bare_part = listOfParticlesToDress[i]->p4();
190  }
191 
192  double dR = bare_part.DeltaR(phot->p4());
193  if (dR < dRmin) {
194  dRmin = dR;
195  idx = i;
196  }
197  }
198 
199  if(idx > -1) {
200  listOfDressedParticles[idx] += phot->p4();
201  dressedParticlesNPhot[idx]++;
202  if (!m_decorationName.empty()){
203  dressDec(*phot) = 1;
204  }
205  }
206  }
207 
208  //loop over particles and add decorators
209  //for (const auto& part : listOfDressedParticles) {
210  for (size_t i = 0; i < listOfParticlesToDress.size(); ++i) {
211  const xAOD::TruthParticle* part = listOfParticlesToDress[i];
212  xAOD::TruthParticle::FourMom_t& dressedVec = listOfDressedParticles[i];
213 
214  if(part->isTau()) {
215  decorator_pt_vis(*part) = dressedVec.Pt();
216  decorator_eta_vis(*part) = dressedVec.Eta();
217  decorator_phi_vis(*part) = dressedVec.Phi();
218  decorator_m_vis(*part) = dressedVec.M();
219  }
220  else {
221  decorator_e(*part) = dressedVec.E();
222  decorator_pt(*part) = dressedVec.Pt();
223  decorator_eta(*part) = dressedVec.Eta();
224  decorator_phi(*part) = dressedVec.Phi();
225  }
226  decorator_nphoton(*part) = dressedParticlesNPhot[i];
227  }
228  } // end of the dR matching part
229 
230  //build the anti-kt jet list
231  if (m_useAntiKt) {
232  std::vector<fastjet::PseudoJet> sorted_jets;
233  std::vector<fastjet::PseudoJet> fj_particles;
234  for (const auto& part : listOfParticlesToDress) {
235 
236  if(part->isTau()) {
237  if(!pt_visAcc.isAvailable(*part) || !eta_visAcc.isAvailable(*part)
238  || !phi_visAcc.isAvailable(*part) || !mvisAcc.isAvailable(*part)) {
239  ATH_MSG_ERROR("Visible momentum not available for truth taus, cannot perform dressing!");
240  return StatusCode::FAILURE;
241  }
242 
243  TLorentzVector tauvis;
244  tauvis.SetPtEtaPhiM(pt_visAcc(*part),
245  eta_visAcc(*part),
246  phi_visAcc(*part),
247  mvisAcc(*part));
248  fj_particles.emplace_back(tauvis.Px(), tauvis.Py(), tauvis.Pz(), tauvis.E());
249  }
250  else {
251  fj_particles.emplace_back(part->px(), part->py(), part->pz(), part->e());
252  }
253 
254  fj_particles.back().set_user_index(HepMC::uniqueID(part));
255  }
256  for (const auto& part : photonsFSRList) {
257  fj_particles.emplace_back(part->px(), part->py(), part->pz(), part->e());
258  fj_particles.back().set_user_index(HepMC::uniqueID(part));
259  }
260 
261  //run the clustering
262  fastjet::JetAlgorithm alg=fastjet::antikt_algorithm;
263  const fastjet::JetDefinition jet_def(alg, m_coneSize);
264  fastjet::ClusterSequence cseq(fj_particles, jet_def);
265  sorted_jets = sorted_by_pt(cseq.inclusive_jets(0));
266  //associate clustered jets back to bare particles
267  std::vector<int> photon_uniqueIDs(50);
268  photon_uniqueIDs.clear();
269  for (const auto& part : listOfParticlesToDress) {
270  //loop over fastjet pseudojets and associate one with this particle
271  bool found=false;
272  auto pjItr=sorted_jets.begin();
273  while(!found && pjItr!=sorted_jets.end()) {
274  std::vector<fastjet::PseudoJet> constituents = pjItr->constituents();
275  for(const auto& constit : constituents) {
276  if (HepMC::uniqueID(part)==constit.user_index()) {
277 
278  // shall we count the number of photons among the pseudojet constituents
279  // to decorate leptons with the number of dressing photons found by the anti-kt algorithm?
280 
281  if(part->isTau()) {
282  decorator_pt_vis(*part) = pjItr->pt();
283  decorator_eta_vis(*part) = pjItr->pseudorapidity();
284  decorator_phi_vis(*part) = pjItr->phi_std(); //returns phi in [-pi,pi]
285  decorator_m_vis(*part) = pjItr->m();
286  }
287  else {
288  decorator_e(*part) = pjItr->e();
289  decorator_pt(*part) = pjItr->pt();
290  decorator_eta(*part) = pjItr->pseudorapidity();
291  decorator_phi(*part) = pjItr->phi_std(); //returns phi in [-pi,pi]
292  }
293  found=true;
294  break;
295  } // Found the matching unique ID
296  } // Loop over the jet constituents
297  if (found){
298  for(const auto& constit : constituents) {
299  photon_uniqueIDs.push_back(constit.user_index());
300  } // Loop over the constituents
301  } // Found one of the key leptons in this jet
302  ++pjItr;
303  }
304  if (!found) {
305  if(part->isTau()) {
306  decorator_pt_vis(*part) = 0.;
307  decorator_eta_vis(*part) = 0.;
308  decorator_phi_vis(*part) = 0.;
309  decorator_m_vis(*part) = 0.;
310  }
311  else {
312  decorator_e(*part) = 0;
313  decorator_pt(*part) = 0;
314  decorator_eta(*part) = 0;
315  decorator_phi(*part) = 0;
316  }
317  ATH_MSG_WARNING("Bare particle not found in constituents ");
318  }
319  }
320  // Check if we wanted to decorate photons used for dressing
321  if (!m_decorationName.empty()){
322  //loop over photons, uniquely associate each to nearest bare particle
323  for (const auto& phot : photonsFSRList ) {
324  bool found = std::find(photon_uniqueIDs.begin(), photon_uniqueIDs.end(), HepMC::uniqueID(phot)) != photon_uniqueIDs.end();
325  if (found) {
326  dressDec(*phot) = 1;
327  }
328  } // End of loop over photons
329  } // End of decoration of photons used in dressing
330  } // End of anti-kT dressing
331 
332  return StatusCode::SUCCESS;
333 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::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

◆ initialize()

StatusCode DerivationFramework::TruthDressingTool::initialize ( )

Definition at line 42 of file TruthDressingTool.cxx.

43 {
44  // Initialise handle keys
47  m_decorator_eKey = m_dressParticlesKey.key() + ".e_dressed";
48  ATH_CHECK(m_decorator_eKey.initialize());
49  m_decorator_ptKey = m_dressParticlesKey.key() + ".pt_dressed";
50  ATH_CHECK(m_decorator_ptKey.initialize());
51  m_decorator_etaKey= m_dressParticlesKey.key() + ".eta_dressed";
52  ATH_CHECK(m_decorator_etaKey.initialize());
53  m_decorator_phiKey= m_dressParticlesKey.key() + ".phi_dressed";
54  ATH_CHECK(m_decorator_phiKey.initialize());
55  m_decorator_pt_visKey = m_dressParticlesKey.key() + ".pt_vis_dressed";
56  ATH_CHECK(m_decorator_pt_visKey.initialize());
57  m_decorator_eta_visKey= m_dressParticlesKey.key() + ".eta_vis_dressed";
58  ATH_CHECK(m_decorator_eta_visKey.initialize());
59  m_decorator_phi_visKey= m_dressParticlesKey.key() + ".phi_vis_dressed";
60  ATH_CHECK(m_decorator_phi_visKey.initialize());
61  m_decorator_m_visKey= m_dressParticlesKey.key() + ".m_vis_dressed";
62  ATH_CHECK(m_decorator_m_visKey.initialize());
63  m_decorator_nphotonKey = m_dressParticlesKey.key() + ".nPhotons_dressed";
64  ATH_CHECK(m_decorator_nphotonKey.initialize());
66  else {m_decorationKey = m_particlesKey.key()+".unusedPhotonDecoration";}
67  ATH_CHECK(m_decorationKey.initialize());
70  return StatusCode::SUCCESS;
71 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::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.

◆ interfaceID()

static const InterfaceID& DerivationFramework::IAugmentationTool::interfaceID ( )
inlinestaticinherited

AlgTool interface methods.

Definition at line 31 of file IAugmentationTool.h.

31 { return IID_IAugmentationTool; }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::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< AlgTool >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_coneSize

Gaudi::Property<float> DerivationFramework::TruthDressingTool::m_coneSize {this, "dressingConeSize", 0.1, "Size of dR cone in which to include FSR photons in dressing"}
private

Parameter: Cone size for dressing.

Definition at line 67 of file TruthDressingTool.h.

◆ m_decorationKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorationKey {this, "DressingKey", "TruthParticles.dressedPhoton", "Dressed photon decoration"}
private

Definition at line 57 of file TruthDressingTool.h.

◆ m_decorationName

Gaudi::Property<std::string> DerivationFramework::TruthDressingTool::m_decorationName {this, "decorationName", "", "Name of the decoration for photons that were used in dressing"}
private

Parameter: Name of the decoration to apply.

Definition at line 76 of file TruthDressingTool.h.

◆ m_decorator_eKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_eKey {this, "e_dressed", "TruthParticles.e_dressed", "e_dressed decoration"}
private

WriteDecorHandleKeys for decorations.

Definition at line 39 of file TruthDressingTool.h.

◆ m_decorator_eta_visKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_eta_visKey {this, "eta_vis_dressed", "TruthParticles.eta_vis_dressed", "eta_vis_dressed decoration"}
private

Definition at line 49 of file TruthDressingTool.h.

◆ m_decorator_etaKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_etaKey {this, "eta_dressed", "TruthParticles.eta_dressed", "eta_dressed decoration"}
private

Definition at line 43 of file TruthDressingTool.h.

◆ m_decorator_m_visKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_m_visKey {this, "m_vis_dressed", "TruthParticles.m_vis_dressed", "m_vis_dressed decoration"}
private

Definition at line 53 of file TruthDressingTool.h.

◆ m_decorator_nphotonKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_nphotonKey {this, "nPhotons_dressed", "TruthParticles.nPhotons_dressed", "nPhotons_dressed decoration"}
private

Definition at line 55 of file TruthDressingTool.h.

◆ m_decorator_phi_visKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_phi_visKey {this, "phi_vis_dressed", "TruthParticles.phi_vis_dressed", "phi_vis_dressed decoration"}
private

Definition at line 51 of file TruthDressingTool.h.

◆ m_decorator_phiKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_phiKey {this, "phi_dressed", "TruthParticles.phi_dressed", "phi_dressed decoration"}
private

Definition at line 45 of file TruthDressingTool.h.

◆ m_decorator_pt_visKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_pt_visKey {this, "pt_vis_dressed", "TruthParticles.pt_vis_dressed", "pt_vis_dressed decoration"}
private

Definition at line 47 of file TruthDressingTool.h.

◆ m_decorator_ptKey

SG::WriteDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_decorator_ptKey {this, "pt_dressed", "TruthParticles.pt_dressed", "pt_dressed decoration"}
private

Definition at line 41 of file TruthDressingTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_dressParticlesKey

SG::ReadHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_dressParticlesKey {this, "dressParticlesKey", "TruthParticles", "ReadHandleKey for input particles to be dressed. If taus are selected, everything in this input key will be used"}
private

ReadHandleKey for particles to be dressed.

Definition at line 34 of file TruthDressingTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_listOfPIDs

Gaudi::Property< std::vector<int> > DerivationFramework::TruthDressingTool::m_listOfPIDs {this, "particleIDsToDress", {11,13}, "List of the pdgID's of particles to be dressed (usually 11,13). Special treatment for taus (15)"}
private

Parameter: List of pdgIDs of particles to dress.

Definition at line 70 of file TruthDressingTool.h.

◆ m_particlesKey

SG::ReadHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_particlesKey {this, "particlesKey", "TruthParticles", "ReadHandleKey for TruthParticles for photon list input"}
private

ReadHandleKey input collection key.

Definition at line 31 of file TruthDressingTool.h.

◆ m_truthClassKey

SG::ReadDecorHandleKey<xAOD::TruthParticleContainer> DerivationFramework::TruthDressingTool::m_truthClassKey {this, "truthClassifierKey", "", "Will be over written during initialize"}
private

Ensure that the algorithm is scheduled after the truth classifier.

Definition at line 37 of file TruthDressingTool.h.

◆ m_useAntiKt

Gaudi::Property<bool> DerivationFramework::TruthDressingTool::m_useAntiKt {this, "useAntiKt", false, "use anti-k_T instead of fixed-cone dressing"}
private

Parameter: Use antikT algorithm for dressing?

Definition at line 73 of file TruthDressingTool.h.

◆ m_useLeptonsFromHadrons

Gaudi::Property<bool> DerivationFramework::TruthDressingTool::m_useLeptonsFromHadrons {this, "useLeptonsFromHadrons", false, "Consider leptons coming from hadron decays?"}
private

Parameter: Use leptons from hadron decays?

Definition at line 64 of file TruthDressingTool.h.

◆ m_usePhotonsFromHadrons

Gaudi::Property<bool> DerivationFramework::TruthDressingTool::m_usePhotonsFromHadrons {this, "usePhotonsFromHadrons", false, "Add photons coming from hadron decays while dressing"}
private

Parameter: Use photons from hadron decays?

Definition at line 61 of file TruthDressingTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
LArG4FSStartPointFilter.part
part
Definition: LArG4FSStartPointFilter.py:21
DerivationFramework::TruthDressingTool::m_particlesKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_particlesKey
ReadHandleKey input collection key.
Definition: TruthDressingTool.h:32
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
SGout2dot.alg
alg
Definition: SGout2dot.py:243
get_generator_info.result
result
Definition: get_generator_info.py:21
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:49
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
DerivationFramework::TruthDressingTool::m_useLeptonsFromHadrons
Gaudi::Property< bool > m_useLeptonsFromHadrons
Parameter: Use leptons from hadron decays?
Definition: TruthDressingTool.h:65
SG::AuxTypeRegistry::getName
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
Definition: AuxTypeRegistry.cxx:277
DerivationFramework::TruthDressingTool::m_listOfPIDs
Gaudi::Property< std::vector< int > > m_listOfPIDs
Parameter: List of pdgIDs of particles to dress.
Definition: TruthDressingTool.h:71
DerivationFramework::TruthDressingTool::m_decorator_nphotonKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_nphotonKey
Definition: TruthDressingTool.h:56
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
DerivationFramework::TruthDressingTool::m_dressParticlesKey
SG::ReadHandleKey< xAOD::TruthParticleContainer > m_dressParticlesKey
ReadHandleKey for particles to be dressed.
Definition: TruthDressingTool.h:35
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
DerivationFramework::TruthDressingTool::m_coneSize
Gaudi::Property< float > m_coneSize
Parameter: Cone size for dressing.
Definition: TruthDressingTool.h:68
SG::ConstAccessor< double >
DerivationFramework::DecayGraphHelper::constructListOfFinalParticles
bool constructListOfFinalParticles(const xAOD::TruthParticleContainer *allParticles, std::vector< const xAOD::TruthParticle * > &selectedlist, const std::vector< int > &pdgId, bool allowFromHadron=false, bool chargedOnly=false) const
Definition: DecayGraphHelper.h:218
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
DerivationFramework::TruthDressingTool::m_decorationName
Gaudi::Property< std::string > m_decorationName
Parameter: Name of the decoration to apply.
Definition: TruthDressingTool.h:77
DerivationFramework::TruthDressingTool::m_decorator_m_visKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_m_visKey
Definition: TruthDressingTool.h:54
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
DerivationFramework::TruthDressingTool::m_usePhotonsFromHadrons
Gaudi::Property< bool > m_usePhotonsFromHadrons
Parameter: Use photons from hadron decays?
Definition: TruthDressingTool.h:62
DerivationFramework::TruthDressingTool::m_decorator_phi_visKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_phi_visKey
Definition: TruthDressingTool.h:52
jet::ClusterSequence
fastjet::ClusterSequence ClusterSequence
Definition: ClusterSequence.h:21
lumiFormat.i
int i
Definition: lumiFormat.py:92
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::TruthDressingTool::m_decorator_phiKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_phiKey
Definition: TruthDressingTool.h:46
beamspotman.n
n
Definition: beamspotman.py:731
xAOD::TruthParticle_v1
Class describing a truth particle in the MC record.
Definition: TruthParticle_v1.h:41
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:99
HepMC::uniqueID
int uniqueID(const T &p)
Definition: MagicNumbers.h:113
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
DerivationFramework::TruthDressingTool::m_truthClassKey
SG::ReadDecorHandleKey< xAOD::TruthParticleContainer > m_truthClassKey
Ensure that the algorithm is scheduled after the truth classifier.
Definition: TruthDressingTool.h:37
DerivationFramework::TruthDressingTool::m_useAntiKt
Gaudi::Property< bool > m_useAntiKt
Parameter: Use antikT algorithm for dressing?
Definition: TruthDressingTool.h:74
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
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
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
isTau
bool isTau(const T &p)
Definition: AtlasPID.h:148
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
DerivationFramework::TruthDressingTool::m_decorator_eta_visKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_eta_visKey
Definition: TruthDressingTool.h:50
DerivationFramework::TruthDressingTool::m_decorator_etaKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_etaKey
Definition: TruthDressingTool.h:44
DerivationFramework::DecayGraphHelper
Definition: DecayGraphHelper.h:26
xAOD::JetAlgorithmType::antikt_algorithm
@ antikt_algorithm
Definition: JetContainerInfo.h:33
DerivationFramework::TruthDressingTool::m_decorationKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorationKey
Definition: TruthDressingTool.h:58
DerivationFramework::TruthDressingTool::m_decorator_ptKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_ptKey
Definition: TruthDressingTool.h:42
a
TList * a
Definition: liststreamerinfos.cxx:10
DerivationFramework::TruthDressingTool::m_decorator_eKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_eKey
WriteDecorHandleKeys for decorations.
Definition: TruthDressingTool.h:40
h
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
MCTruthPartClassifier::isPrompt
int isPrompt(const unsigned int classify, bool allow_prompt_tau_decays=true)
Definition: TruthClassifiers.h:180
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
DerivationFramework::TruthDressingTool::m_decorator_pt_visKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_pt_visKey
Definition: TruthDressingTool.h:48
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
fitman.k
k
Definition: fitman.py:528
xAOD::TruthParticle_v1::FourMom_t
IParticle::FourMom_t FourMom_t
Definition of the 4-momentum type.
Definition: TruthParticle_v1.h:151