Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
PanTau::Tool_DecayModeDeterminator Class Reference

#include <Tool_DecayModeDeterminator.h>

Inheritance diagram for PanTau::Tool_DecayModeDeterminator:
Collaboration diagram for PanTau::Tool_DecayModeDeterminator:

Public Types

enum  DecayModeTest {
  t_1p0n_vs_1p1n, t_1p1n_vs_1pXn, t_3p0n_vs_3pXn, t_UnknownTest,
  t_nTests
}
 

Public Member Functions

 Tool_DecayModeDeterminator (const std::string &name)
 
virtual ~Tool_DecayModeDeterminator ()
 
virtual StatusCode initialize ()
 Dummy implementation of the initialisation function. More...
 
virtual StatusCode execute (PanTau::PanTauSeed *inSeed) const
 
bool isInitialized ()
 
virtual void print () const
 Print the state of the tool. 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
 

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

ToolHandle< PanTau::ITool_InformationStorem_Tool_InformationStore {this, "Tool_InformationStore", "PanTau::Tool_InformationStore/Tool_InformationStore", "Tool handle to the information store tool"}
 
ToolHandle< PanTau::ITool_ModeDiscriminatorm_Tool_ModeDiscriminator_1p0n_vs_1p1n {this, "Tool_ModeDiscriminator_1p0n_vs_1p1n", "PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator", "Handle to the ModeDiscriminator tool for 1p0n_vs_1p1n"}
 
ToolHandle< PanTau::ITool_ModeDiscriminatorm_Tool_ModeDiscriminator_1p1n_vs_1pXn {this, "Tool_ModeDiscriminator_1p1n_vs_1pXn", "PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator", "Handle to the ModeDiscriminator tool for 1p1n_vs_1pXn"}
 
ToolHandle< PanTau::ITool_ModeDiscriminatorm_Tool_ModeDiscriminator_3p0n_vs_3pXn {this, "Tool_ModeDiscriminator_3p0n_vs_3pXn", "PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator", "Handle to the ModeDiscriminator tool for 3p0n_vs_3pXn"}
 
Gaudi::Property< std::string > m_Tool_InformationStoreName {this, "Tool_InformationStoreName", "", "Tool handle to the information store tool"}
 
Gaudi::Property< std::string > m_Tool_ModeDiscriminator_1p0n_vs_1p1nName {this, "Tool_ModeDiscriminator_1p0n_vs_1p1nName", "", "Handle to the ModeDiscriminator tool for 1p0n_vs_1p1n"}
 
Gaudi::Property< std::string > m_Tool_ModeDiscriminator_1p1n_vs_1pXnName {this, "Tool_ModeDiscriminator_1p1n_vs_1pXnName", "", "Handle to the ModeDiscriminator tool for 1p1n_vs_1pXn"}
 
Gaudi::Property< std::string > m_Tool_ModeDiscriminator_3p0n_vs_3pXnName {this, "Tool_ModeDiscriminator_3p0n_vs_3pXnName", "", "Handle to the ModeDiscriminator tool for 3p0n_vs_3pXn"}
 
std::string m_varTypeName_Prefix_Basic
 
double m_BDTCutValue_R10X_CellBased = 0.0
 
double m_BDTCutValue_R11X_CellBased = 0.0
 
double m_BDTCutValue_R110_CellBased = 0.0
 
double m_BDTCutValue_R1XX_CellBased = 0.0
 
double m_BDTCutValue_R30X_CellBased = 0.0
 
double m_BDTCutValue_R3XX_CellBased = 0.0
 
bool m_init =false
 
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

Tool to store information needed in PanTau Algorithms

Author
Christian Limbach (limba.nosp@m.ch@p.nosp@m.hysik.nosp@m..uni.nosp@m.-bonn.nosp@m..de)

Definition at line 29 of file Tool_DecayModeDeterminator.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ DecayModeTest

Enumerator
t_1p0n_vs_1p1n 
t_1p1n_vs_1pXn 
t_3p0n_vs_3pXn 
t_UnknownTest 
t_nTests 

Definition at line 35 of file Tool_DecayModeDeterminator.h.

35  {
40  t_nTests
41  };

Constructor & Destructor Documentation

◆ Tool_DecayModeDeterminator()

PanTau::Tool_DecayModeDeterminator::Tool_DecayModeDeterminator ( const std::string &  name)

Definition at line 12 of file Tool_DecayModeDeterminator.cxx.

12  :
14 {
15 }

◆ ~Tool_DecayModeDeterminator()

PanTau::Tool_DecayModeDeterminator::~Tool_DecayModeDeterminator ( )
virtualdefault

Member Function Documentation

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

◆ execute()

StatusCode PanTau::Tool_DecayModeDeterminator::execute ( PanTau::PanTauSeed inSeed) const
virtual

Implements PanTau::ITool_PanTauTools.

Definition at line 50 of file Tool_DecayModeDeterminator.cxx.

50  {
51 
52  std::string inAlgName = inSeed->getNameInputAlgorithm();
53  PanTau::TauFeature* features = inSeed->getFeatures();
54 
55  //check for invalid input seed
57  bool noAnyConstituents = inSeed->isOfTechnicalQuality(PanTau::PanTauSeed::t_NoConstituentsAtAll);
60  bool invalidForDecayMode = (noValidInput || noAnyConstituents || noSelConstituents || badPt);
61 
62  int decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtModeNotSet;
63  xAOD::TauJet* tauJet = inSeed->getTauJet();
64 
65  if(invalidForDecayMode) {
66  ATH_MSG_DEBUG("Seed has no constituents assigned and/or input seed has no substructure info - use NotSet mode for this");
67  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_RecoMode_PanTau", xAOD::TauJetParameters::Mode_NotSet);
68  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_RecoMode_PanTauExtended", PanTau::PanTauSeed::t_ExtModeNotSet);
70  return StatusCode::SUCCESS;
71  }
72 
73  //get the mode as it was determined by the subalgorithm
74  int decayMode_SubAlg = inSeed->getDecayModeBySubAlg();
75  int decayMode_PanTau = xAOD::TauJetParameters::Mode_NotSet;
76 
77  //and calc the number of additional neutrals, not tagged as pi0
80  int AdditionalNeutrals = nNeutrals_SubAlg - nPi0Neut_SubAlg;
81 
82  //based on the subAlg decay mode, pass to corresponding PanTau BDT...
83  double bdtResponse = -5;
84  DecayModeTest bdtTest = t_UnknownTest;
85  // 1p0n mode
86  if(decayMode_SubAlg == xAOD::TauJetParameters::Mode_1p0n) {
87 
88  //1 prong, and no other objects at all -> use 1p0n
89  if(AdditionalNeutrals == 0) {
90  decayMode_PanTau = xAOD::TauJetParameters::Mode_1p0n;
91  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode100;
92  bdtResponse = -3.;
93 
94  //if there are neutrals which are not pi0-tagged, check BDT to maybe set 1p1n
95  }
96  else {
97  bool isOK = false;
98  bdtResponse = m_Tool_ModeDiscriminator_1p0n_vs_1p1n->getResponse(inSeed, isOK);
99  bdtTest = t_1p0n_vs_1p1n;
100  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode10X;
101  if(!isOK) {
102  ATH_MSG_WARNING("WARNING: problems getting bdt response for 1p0n + X-neutrals. use subAlg mode");
103  decayMode_PanTau = decayMode_SubAlg;
104  }
105  else {
107  }
108  }
109  }//end 1p0n
110 
111  //1p1n mode
112  else if (decayMode_SubAlg == xAOD::TauJetParameters::Mode_1p1n) {
113  //1prong, 1pi0 and no other neutrals. check 1p0n-vs-1p1n
114  if(AdditionalNeutrals == 0) {
115  bool isOK = false;
116  bdtResponse = m_Tool_ModeDiscriminator_1p0n_vs_1p1n->getResponse(inSeed, isOK);
117  bdtTest = t_1p0n_vs_1p1n;
118  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode110;
119  if(!isOK) {
120  ATH_MSG_WARNING("WARNING problems getting bdt response for 1p1n + 0-neutrals. use subAlg mode");
121  decayMode_PanTau = decayMode_SubAlg;
122  }
123  else {
125  }
126  //1prong, 1pi0 and additional neutrals. check 1p1n vs 1pXn
127  }
128  else {
129  //NOTE: May investigate chain of decisions here: first check 1p0n-1p1n, and then (in case of 1p1n) 1p1n-1pXn
130  bool isOK = false;
131  bdtResponse = m_Tool_ModeDiscriminator_1p1n_vs_1pXn->getResponse(inSeed, isOK);
132  bdtTest = t_1p1n_vs_1pXn;
133  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode11X;
134  if(!isOK) {
135  ATH_MSG_WARNING("WARNING problems getting bdt response for 1p1n + X-neutrals. use subAlg mode");
136  decayMode_PanTau = decayMode_SubAlg;
137  }
138  else {
140  }
141  }
142  }//end 1p1n
143 
144  //1pXn mode
145  else if (decayMode_SubAlg == xAOD::TauJetParameters::Mode_1pXn) {
146  //1prong, Xpi0. check 1p1n-vs-1pXn
147  bool isOK = false;
148  bdtResponse = m_Tool_ModeDiscriminator_1p1n_vs_1pXn->getResponse(inSeed, isOK);
149  bdtTest = t_1p1n_vs_1pXn;
150  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode1XX;
151  if(!isOK) {
152  ATH_MSG_WARNING("WARNING problems getting bdt response for 1p1n + X-neutrals. use subAlg mode");
153  decayMode_PanTau = decayMode_SubAlg;
154  } else {
156  }
157  }//end 1pXn
158 
159  //3p0n mode
160  else if (decayMode_SubAlg == xAOD::TauJetParameters::Mode_3p0n) {
161  //no additional neutrals.
162  if(AdditionalNeutrals == 0) {
163  decayMode_PanTau = xAOD::TauJetParameters::Mode_3p0n;
164  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode300;
165  bdtResponse = -2.5;
166  //additional neutrals
167  }
168  else {
169  bool isOK = false;
170  bdtResponse = m_Tool_ModeDiscriminator_3p0n_vs_3pXn->getResponse(inSeed, isOK);
171  bdtTest = t_3p0n_vs_3pXn;
172  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode30X;
173  if(!isOK) {
174  ATH_MSG_WARNING("WARNING problems getting bdt response for 3p0n + X-neutrals. use subAlg mode");
175  decayMode_PanTau = decayMode_SubAlg;
176  }
177  else {
179  }
180  }
181  }//end 3p0n
182 
183  //3pXn mode
184  else if (decayMode_SubAlg == xAOD::TauJetParameters::Mode_3pXn) {
185  //3prong, Xpi0. check 3p0n-vs-3pXn
186  bool isOK = false;
187  bdtResponse = m_Tool_ModeDiscriminator_3p0n_vs_3pXn->getResponse(inSeed, isOK);
188  bdtTest = t_3p0n_vs_3pXn;
189  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode3XX;
190  if(!isOK) {
191  ATH_MSG_WARNING("WARNING problems getting bdt response for 3p0n + X-neutrals. use subAlg mode");
192  decayMode_PanTau = decayMode_SubAlg;
193  }
194  else {
196  }
197  } //end 3pXn
198 
199  //it's none of 1p0n, 1p1n, 1pXn, 3p0n, 3pXn -> set other mode
200  else {
201  decayMode_PanTau = xAOD::TauJetParameters::Mode_Other;
202  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtModeOther;
203  bdtResponse = -4;
204  bdtTest = t_UnknownTest;
205  }
206 
207  if(inAlgName != "CellBased") {
208  ATH_MSG_WARNING("Name of input algorithm not known - use mode from sub alg!");
209  decayMode_PanTau = decayMode_SubAlg;
210  bdtResponse = -5;
211  bdtTest = t_UnknownTest;
212  }
213 
214  // this overrides Pantau BDT 1p1n decision in the following case:
215  // if cell based counted 1 charged, 1 pi0neut, and number of hits in EM1 for the pi0neut is 3 or larger, set 1pXn;
216  if(inSeed->getNumberOfConstituentsOfType(PanTau::TauConstituent::t_Charged) == 1 && nPi0Neut_SubAlg == 1) {
217  //check for shots in EM1
218  bool isOK = false;
220  if(isOK) {
221  double nPhotons = 0.;
222  std::vector<PanTau::TauConstituent*> shots = pi0Neut->getShots();
223 
224  for(unsigned int iShot=0; iShot<shots.size(); iShot++) {
225  nPhotons = nPhotons + (double)(shots.at(iShot)->getNPhotonsInShot());
226  }
227 
228  if(nPhotons > 2.) {
229  decayMode_SubAlg = xAOD::TauJetParameters::Mode_1pXn;
230  decayMode_PanTau = xAOD::TauJetParameters::Mode_1pXn;
231  decayMode_PanTauExtended = PanTau::PanTauSeed::t_ExtMode11shots;
232  inSeed->setModeHackedByCellBased(true);
233  bdtResponse = -2.;
234  }
235  //end check for pi0 neutrals were found
236  }
237  else {
238  ATH_MSG_WARNING("Could not find expected CellBased neutral -> don't check for photons in cluster");
239  }
240  } //end hack check for 1p1n
241 
242  //update mode of seed and store in features
243  inSeed->setDecayModeByPanTau(decayMode_PanTau);
244  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_RecoMode", (double)decayMode_SubAlg);
245  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_RecoMode_PanTau", (double)decayMode_PanTau);
246  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_RecoMode_PanTauExtended", (double)decayMode_PanTauExtended);
247 
249 
250  if(bdtTest == t_1p0n_vs_1p1n) {
251  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p0n_vs_1p1n", bdtResponse);
252  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p1n_vs_1pXn", -5.);
253  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_3p0n_vs_3pXn", -5.);
254  }
255  if(bdtTest == t_1p1n_vs_1pXn) {
256  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p0n_vs_1p1n", -5.);
257  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p1n_vs_1pXn", bdtResponse);
258  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_3p0n_vs_3pXn", -5.);
259  }
260  if(bdtTest == t_3p0n_vs_3pXn) {
261  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p0n_vs_1p1n", -5.);
262  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p1n_vs_1pXn", -5.);
263  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_3p0n_vs_3pXn", bdtResponse);
264  }
265  if(bdtTest == t_UnknownTest) {
266  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p0n_vs_1p1n", -5.);
267  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_1p1n_vs_1pXn", -5.);
268  features->addFeature(inAlgName + "_" + m_varTypeName_Prefix_Basic + "_BDTValue_3p0n_vs_3pXn", -5.);
269  }
270 
271  return StatusCode::SUCCESS;
272 }

◆ 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

◆ getKey()

SG::sgkey_t asg::AsgTool::getKey ( const void *  ptr) const
inherited

Get the (hashed) key of an object that is in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the SG::sgkey_t key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getName
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The hashed key of the object in the store. If not found, an invalid (zero) key.

Definition at line 119 of file AsgTool.cxx.

119  {
120 
121 #ifdef XAOD_STANDALONE
122  // In case we use @c xAOD::TEvent, we have a direct function call
123  // for this.
124  return evtStore()->event()->getKey( ptr );
125 #else
126  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
127  return ( proxy == nullptr ? 0 : proxy->sgkey() );
128 #endif // XAOD_STANDALONE
129  }

◆ getName()

const std::string & asg::AsgTool::getName ( const void *  ptr) const
inherited

Get the name of an object that is / should be in the event store.

This is a bit of a special one. StoreGateSvc and xAOD::TEvent both provide ways for getting the std::string name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.

In order to allow tools to efficiently perform this operation, they can use this helper function.

See also
asg::AsgTool::getKey
Parameters
ptrThe bare pointer to the object that the event store should know about
Returns
The string name of the object in the store. If not found, an empty string.

Definition at line 106 of file AsgTool.cxx.

106  {
107 
108 #ifdef XAOD_STANDALONE
109  // In case we use @c xAOD::TEvent, we have a direct function call
110  // for this.
111  return evtStore()->event()->getName( ptr );
112 #else
113  const SG::DataProxy* proxy = evtStore()->proxy( ptr );
114  static const std::string dummy = "";
115  return ( proxy == nullptr ? dummy : proxy->name() );
116 #endif // XAOD_STANDALONE
117  }

◆ getProperty()

template<class T >
const T* asg::AsgTool::getProperty ( const std::string &  name) const
inherited

Get one of the tool's properties.

◆ initialize()

StatusCode PanTau::Tool_DecayModeDeterminator::initialize ( )
virtual

Dummy implementation of the initialisation function.

It's here to allow the dual-use tools to skip defining an initialisation function. Since many are doing so...

Reimplemented from asg::AsgTool.

Definition at line 21 of file Tool_DecayModeDeterminator.cxx.

21  {
22 
23  m_init=true;
24 
29 
30  //get the discri tools
34 
35  //get the variable prefix
36  ATH_CHECK( m_Tool_InformationStore->getInfo_String("FeatureExtractor_VarTypeName_varTypeName_Basic", m_varTypeName_Prefix_Basic) );
37 
38  //get the BDT cut values
39  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R10X_CellBased", m_BDTCutValue_R10X_CellBased) );
40  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R11X_CellBased", m_BDTCutValue_R11X_CellBased) );
41  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R110_CellBased", m_BDTCutValue_R110_CellBased) );
42  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R1XX_CellBased", m_BDTCutValue_R1XX_CellBased) );
43  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R30X_CellBased", m_BDTCutValue_R30X_CellBased) );
44  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R3XX_CellBased", m_BDTCutValue_R3XX_CellBased) );
45 
46  return StatusCode::SUCCESS;
47 }

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

◆ isInitialized()

bool PanTau::Tool_DecayModeDeterminator::isInitialized ( )
inlinevirtual

Implements PanTau::ITool_PanTauTools.

Definition at line 77 of file Tool_DecayModeDeterminator.h.

77 {return m_init;}

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

◆ msg_level_name()

const std::string & asg::AsgTool::msg_level_name ( ) const
inherited

A deprecated function for getting the message level's name.

Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:

MSG::name( msg().level() )

This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.

Returns
The string name of the current minimum message level that's printed

Definition at line 101 of file AsgTool.cxx.

101  {
102 
103  return MSG::name( msg().level() );
104  }

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

◆ print()

void asg::AsgTool::print ( ) const
virtualinherited

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

double PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R10X_CellBased = 0.0
private

Definition at line 68 of file Tool_DecayModeDeterminator.h.

◆ m_BDTCutValue_R110_CellBased

double PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R110_CellBased = 0.0
private

Definition at line 70 of file Tool_DecayModeDeterminator.h.

◆ m_BDTCutValue_R11X_CellBased

double PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R11X_CellBased = 0.0
private

Definition at line 69 of file Tool_DecayModeDeterminator.h.

◆ m_BDTCutValue_R1XX_CellBased

double PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R1XX_CellBased = 0.0
private

Definition at line 71 of file Tool_DecayModeDeterminator.h.

◆ m_BDTCutValue_R30X_CellBased

double PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R30X_CellBased = 0.0
private

Definition at line 72 of file Tool_DecayModeDeterminator.h.

◆ m_BDTCutValue_R3XX_CellBased

double PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R3XX_CellBased = 0.0
private

Definition at line 73 of file Tool_DecayModeDeterminator.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_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_init

bool PanTau::Tool_DecayModeDeterminator::m_init =false
private

Definition at line 75 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_InformationStore

ToolHandle<PanTau::ITool_InformationStore> PanTau::Tool_DecayModeDeterminator::m_Tool_InformationStore {this, "Tool_InformationStore", "PanTau::Tool_InformationStore/Tool_InformationStore", "Tool handle to the information store tool"}
private

Definition at line 52 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_InformationStoreName

Gaudi::Property<std::string> PanTau::Tool_DecayModeDeterminator::m_Tool_InformationStoreName {this, "Tool_InformationStoreName", "", "Tool handle to the information store tool"}
private

Definition at line 57 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_1p0n_vs_1p1n

ToolHandle<PanTau::ITool_ModeDiscriminator> PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1n {this, "Tool_ModeDiscriminator_1p0n_vs_1p1n", "PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator", "Handle to the ModeDiscriminator tool for 1p0n_vs_1p1n"}
private

Definition at line 53 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_1p0n_vs_1p1nName

Gaudi::Property<std::string> PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1nName {this, "Tool_ModeDiscriminator_1p0n_vs_1p1nName", "", "Handle to the ModeDiscriminator tool for 1p0n_vs_1p1n"}
private

Definition at line 58 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_1p1n_vs_1pXn

ToolHandle<PanTau::ITool_ModeDiscriminator> PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p1n_vs_1pXn {this, "Tool_ModeDiscriminator_1p1n_vs_1pXn", "PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator", "Handle to the ModeDiscriminator tool for 1p1n_vs_1pXn"}
private

Definition at line 54 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_1p1n_vs_1pXnName

Gaudi::Property<std::string> PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p1n_vs_1pXnName {this, "Tool_ModeDiscriminator_1p1n_vs_1pXnName", "", "Handle to the ModeDiscriminator tool for 1p1n_vs_1pXn"}
private

Definition at line 59 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_3p0n_vs_3pXn

ToolHandle<PanTau::ITool_ModeDiscriminator> PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_3p0n_vs_3pXn {this, "Tool_ModeDiscriminator_3p0n_vs_3pXn", "PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator", "Handle to the ModeDiscriminator tool for 3p0n_vs_3pXn"}
private

Definition at line 55 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_3p0n_vs_3pXnName

Gaudi::Property<std::string> PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_3p0n_vs_3pXnName {this, "Tool_ModeDiscriminator_3p0n_vs_3pXnName", "", "Handle to the ModeDiscriminator tool for 3p0n_vs_3pXn"}
private

Definition at line 60 of file Tool_DecayModeDeterminator.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_varTypeName_Prefix_Basic

std::string PanTau::Tool_DecayModeDeterminator::m_varTypeName_Prefix_Basic
private

Definition at line 65 of file Tool_DecayModeDeterminator.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:
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_3p0n_vs_3pXn
ToolHandle< PanTau::ITool_ModeDiscriminator > m_Tool_ModeDiscriminator_3p0n_vs_3pXn
Definition: Tool_DecayModeDeterminator.h:55
xAOD::TauJetParameters::Mode_1p0n
@ Mode_1p0n
Definition: TauDefs.h:386
PanTau::PanTauSeed::setDecayModeByPanTau
void setDecayModeByPanTau(int decayModePanTau)
Definition: PanTauSeed.h:245
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p1n_vs_1pXnName
Gaudi::Property< std::string > m_Tool_ModeDiscriminator_1p1n_vs_1pXnName
Definition: Tool_DecayModeDeterminator.h:59
PanTau::TauConstituent::t_Neutral
@ t_Neutral
Definition: TauConstituent.h:45
xAOD::TauJetParameters::Mode_1p1n
@ Mode_1p1n
Definition: TauDefs.h:387
PanTau::PanTauSeed::getFeatures
const PanTau::TauFeature * getFeatures() const
Definition: PanTauSeed.h:230
PanTau::Tool_DecayModeDeterminator::m_init
bool m_init
Definition: Tool_DecayModeDeterminator.h:75
PanTau::Tool_DecayModeDeterminator::t_3p0n_vs_3pXn
@ t_3p0n_vs_3pXn
Definition: Tool_DecayModeDeterminator.h:38
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:402
PanTau::PanTauSeed::getTauJet
const xAOD::TauJet * getTauJet() const
Definition: PanTauSeed.h:228
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
PanTau::PanTauSeed::getDecayModeBySubAlg
int getDecayModeBySubAlg() const
Definition: PanTauSeed.h:239
PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R10X_CellBased
double m_BDTCutValue_R10X_CellBased
Definition: Tool_DecayModeDeterminator.h:68
PanTau::TauConstituent::t_Charged
@ t_Charged
Definition: TauConstituent.h:44
PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R1XX_CellBased
double m_BDTCutValue_R1XX_CellBased
Definition: Tool_DecayModeDeterminator.h:71
PanTau::PanTauSeed::getNameInputAlgorithm
const std::string & getNameInputAlgorithm() const
Definition: PanTauSeed.h:227
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
PanTau::PanTauSeed::getConstituentsOfType
std::vector< PanTau::TauConstituent * > getConstituentsOfType(int tauConstituent_Type, bool &foundit)
Definition: PanTauSeed.cxx:358
xAOD::TauJet_v3::setPanTauDetail
void setPanTauDetail(TauJetParameters::PanTauDetails panTauDetail, int value)
Definition: TauJet_v3.cxx:395
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p1n_vs_1pXn
ToolHandle< PanTau::ITool_ModeDiscriminator > m_Tool_ModeDiscriminator_1p1n_vs_1pXn
Definition: Tool_DecayModeDeterminator.h:54
PanTau::PanTauSeed::t_ExtMode300
@ t_ExtMode300
Definition: PanTauSeed.h:49
PanTau::Tool_DecayModeDeterminator::m_Tool_InformationStoreName
Gaudi::Property< std::string > m_Tool_InformationStoreName
Definition: Tool_DecayModeDeterminator.h:57
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1n
ToolHandle< PanTau::ITool_ModeDiscriminator > m_Tool_ModeDiscriminator_1p0n_vs_1p1n
Definition: Tool_DecayModeDeterminator.h:53
PanTau::PanTauSeed::t_NoValidInputTau
@ t_NoValidInputTau
Definition: PanTauSeed.h:34
PanTau::TauFeature::addFeature
bool addFeature(const std::string &name, const double value)
adds a new feature
Definition: TauFeature.cxx:44
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R11X_CellBased
double m_BDTCutValue_R11X_CellBased
Definition: Tool_DecayModeDeterminator.h:69
PanTau::TauFeature
Definition: TauFeature.h:19
PanTau::Tool_DecayModeDeterminator::t_UnknownTest
@ t_UnknownTest
Definition: Tool_DecayModeDeterminator.h:39
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
PanTau::Tool_DecayModeDeterminator::m_Tool_InformationStore
ToolHandle< PanTau::ITool_InformationStore > m_Tool_InformationStore
Definition: Tool_DecayModeDeterminator.h:52
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
PanTau::PanTauSeed::t_ExtMode1XX
@ t_ExtMode1XX
Definition: PanTauSeed.h:48
PanTau::Tool_DecayModeDeterminator::t_1p0n_vs_1p1n
@ t_1p0n_vs_1p1n
Definition: Tool_DecayModeDeterminator.h:36
PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R110_CellBased
double m_BDTCutValue_R110_CellBased
Definition: Tool_DecayModeDeterminator.h:70
python.iconfTool.models.loaders.level
level
Definition: loaders.py:20
xAOD::TauJetParameters::Mode_1pXn
@ Mode_1pXn
Definition: TauDefs.h:388
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_3p0n_vs_3pXnName
Gaudi::Property< std::string > m_Tool_ModeDiscriminator_3p0n_vs_3pXnName
Definition: Tool_DecayModeDeterminator.h:60
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
PanTau::PanTauSeed::t_ExtMode11X
@ t_ExtMode11X
Definition: PanTauSeed.h:47
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
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
PanTau::PanTauSeed::t_ExtMode110
@ t_ExtMode110
Definition: PanTauSeed.h:46
PanTau::Tool_DecayModeDeterminator::m_varTypeName_Prefix_Basic
std::string m_varTypeName_Prefix_Basic
Definition: Tool_DecayModeDeterminator.h:65
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
python.xAODType.dummy
dummy
Definition: xAODType.py:4
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MSG::name
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition: MsgLevel.cxx:19
PanTau::PanTauSeed::t_ExtMode30X
@ t_ExtMode30X
Definition: PanTauSeed.h:50
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
PanTau::Tool_DecayModeDeterminator::DecayModeTest
DecayModeTest
Definition: Tool_DecayModeDeterminator.h:35
xAOD::TauJetParameters::Mode_3p0n
@ Mode_3p0n
Definition: TauDefs.h:389
PanTau::Tool_DecayModeDeterminator::t_1p1n_vs_1pXn
@ t_1p1n_vs_1pXn
Definition: Tool_DecayModeDeterminator.h:37
PanTau::PanTauSeed::t_ExtMode10X
@ t_ExtMode10X
Definition: PanTauSeed.h:45
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
xAOD::TauJetParameters::PanTau_DecayModeExtended
@ PanTau_DecayModeExtended
Definition: TauDefs.h:376
PanTau::PanTauSeed::t_ExtMode100
@ t_ExtMode100
Definition: PanTauSeed.h:44
PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R30X_CellBased
double m_BDTCutValue_R30X_CellBased
Definition: Tool_DecayModeDeterminator.h:72
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
PanTau::PanTauSeed::t_BadPtValue
@ t_BadPtValue
Definition: PanTauSeed.h:37
PanTau::HelperFunctions::bindToolHandle
static StatusCode bindToolHandle(ToolHandle< T > &, std::string)
Definition: Reconstruction/PanTau/PanTauAlgs/PanTauAlgs/HelperFunctions.h:57
PanTau::PanTauSeed::t_NoConstituentsAtAll
@ t_NoConstituentsAtAll
Definition: PanTauSeed.h:35
PanTau::PanTauSeed::setModeHackedByCellBased
void setModeHackedByCellBased(bool f)
Definition: PanTauSeed.h:158
PanTau::PanTauSeed::t_ExtModeNotSet
@ t_ExtModeNotSet
Definition: PanTauSeed.h:53
PanTau::TauConstituent::t_Pi0Neut
@ t_Pi0Neut
Definition: TauConstituent.h:46
PanTau::PanTauSeed::t_ExtMode3XX
@ t_ExtMode3XX
Definition: PanTauSeed.h:51
PanTau::PanTauSeed::getNumberOfConstituentsOfType
int getNumberOfConstituentsOfType(int tauConstituent_Type)
Definition: PanTauSeed.cxx:369
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
PanTau::PanTauSeed::isOfTechnicalQuality
bool isOfTechnicalQuality(int pantauSeed_TechnicalQuality) const
Definition: PanTauSeed.cxx:349
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1nName
Gaudi::Property< std::string > m_Tool_ModeDiscriminator_1p0n_vs_1p1nName
Definition: Tool_DecayModeDeterminator.h:58
PanTau::PanTauSeed::t_ExtMode11shots
@ t_ExtMode11shots
Definition: PanTauSeed.h:55
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
PanTau::PanTauSeed::t_NoSelectedConstituents
@ t_NoSelectedConstituents
Definition: PanTauSeed.h:36
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
xAOD::TauJetParameters::Mode_3pXn
@ Mode_3pXn
Definition: TauDefs.h:390
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
PanTau::TauConstituent
Definition: TauConstituent.h:25
SG::DataProxy
Definition: DataProxy.h:45
xAOD::TauJetParameters::Mode_NotSet
@ Mode_NotSet
Definition: TauDefs.h:392
PanTau::Tool_DecayModeDeterminator::m_BDTCutValue_R3XX_CellBased
double m_BDTCutValue_R3XX_CellBased
Definition: Tool_DecayModeDeterminator.h:73
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
PanTau::Tool_DecayModeDeterminator::t_nTests
@ t_nTests
Definition: Tool_DecayModeDeterminator.h:40
PanTau::TauConstituent::getShots
const std::vector< TauConstituent * > & getShots() const
Definition: TauConstituent.cxx:240
xAOD::TauJetParameters::Mode_Other
@ Mode_Other
Definition: TauDefs.h:391
fitman.k
k
Definition: fitman.py:528
PanTau::PanTauSeed::t_ExtModeOther
@ t_ExtModeOther
Definition: PanTauSeed.h:52