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 30 of file TruthDressingTool.cxx.

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

◆ ~TruthDressingTool()

DerivationFramework::TruthDressingTool::~TruthDressingTool ( )

Definition at line 39 of file TruthDressingTool.cxx.

39  {
40 }

Member Function Documentation

◆ addBranches()

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

Pass the thinning service

Implements DerivationFramework::IAugmentationTool.

Definition at line 75 of file TruthDressingTool.cxx.

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

◆ 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 43 of file TruthDressingTool.cxx.

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

◆ 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
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:639
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::decorKeyFromKey
std::string decorKeyFromKey(const std::string &key)
Extract the decoration part of key.
Definition: DecorKeyHelpers.cxx:41
SG::AuxTypeRegistry::getName
std::string getName(SG::auxid_t auxid) const
Return the name of an aux data item.
Definition: AuxTypeRegistry.cxx:881
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
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
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
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
SG::Decorator< char >
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:85
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:37
SG::WriteDecorHandle
Handle class for adding a decoration to an object.
Definition: StoreGate/StoreGate/WriteDecorHandle.h:100
HepMC::uniqueID
int uniqueID(const T &p)
Definition: MagicNumbers.h:116
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:173
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
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:623
DerivationFramework::TruthDressingTool::m_decorator_pt_visKey
SG::WriteDecorHandleKey< xAOD::TruthParticleContainer > m_decorator_pt_visKey
Definition: TruthDressingTool.h:48
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
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:147