ATLAS Offline Software
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
 
ToolHandle< PanTau::ITool_ModeDiscriminatorm_Tool_ModeDiscriminator_1p0n_vs_1p1n
 
ToolHandle< PanTau::ITool_ModeDiscriminatorm_Tool_ModeDiscriminator_1p1n_vs_1pXn
 
ToolHandle< PanTau::ITool_ModeDiscriminatorm_Tool_ModeDiscriminator_3p0n_vs_3pXn
 
std::string m_Tool_InformationStoreName
 
std::string m_Tool_ModeDiscriminator_1p0n_vs_1p1nName
 
std::string m_Tool_ModeDiscriminator_1p1n_vs_1pXnName
 
std::string m_Tool_ModeDiscriminator_3p0n_vs_3pXnName
 
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 28 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 34 of file Tool_DecayModeDeterminator.h.

34  {
39  t_nTests
40  };

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  m_Tool_InformationStore("PanTau::Tool_InformationStore/Tool_InformationStore"),
15  m_Tool_ModeDiscriminator_1p0n_vs_1p1n("PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator"),
16  m_Tool_ModeDiscriminator_1p1n_vs_1pXn("PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator"),
17  m_Tool_ModeDiscriminator_3p0n_vs_3pXn("PanTau::Tool_ModeDiscriminator/Tool_ModeDiscriminator")
18 {
19  declareProperty("Tool_InformationStore", m_Tool_InformationStore, "Tool handle to the information store tool");
20  declareProperty("Tool_ModeDiscriminator_1p0n_vs_1p1n", m_Tool_ModeDiscriminator_1p0n_vs_1p1n, "Handle to the ModeDiscriminator tool for 1p0n_vs_1p1n");
21  declareProperty("Tool_ModeDiscriminator_1p1n_vs_1pXn", m_Tool_ModeDiscriminator_1p1n_vs_1pXn, "Handle to the ModeDiscriminator tool for 1p1n_vs_1pXn");
22  declareProperty("Tool_ModeDiscriminator_3p0n_vs_3pXn", m_Tool_ModeDiscriminator_3p0n_vs_3pXn, "Handle to the ModeDiscriminator tool for 3p0n_vs_3pXn");
23 
24  declareProperty("Tool_InformationStoreName", m_Tool_InformationStoreName="", "Tool handle to the information store tool");
25  declareProperty("Tool_ModeDiscriminator_1p0n_vs_1p1nName", m_Tool_ModeDiscriminator_1p0n_vs_1p1nName="", "Handle to the ModeDiscriminator tool for 1p0n_vs_1p1n");
26  declareProperty("Tool_ModeDiscriminator_1p1n_vs_1pXnName", m_Tool_ModeDiscriminator_1p1n_vs_1pXnName="", "Handle to the ModeDiscriminator tool for 1p1n_vs_1pXn");
27  declareProperty("Tool_ModeDiscriminator_3p0n_vs_3pXnName", m_Tool_ModeDiscriminator_3p0n_vs_3pXnName="", "Handle to the ModeDiscriminator tool for 3p0n_vs_3pXn");
28 }

◆ ~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 63 of file Tool_DecayModeDeterminator.cxx.

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

◆ 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 34 of file Tool_DecayModeDeterminator.cxx.

34  {
35 
36  m_init=true;
37 
42 
43  //get the discri tools
47 
48  //get the variable prefix
49  ATH_CHECK( m_Tool_InformationStore->getInfo_String("FeatureExtractor_VarTypeName_varTypeName_Basic", m_varTypeName_Prefix_Basic) );
50 
51  //get the BDT cut values
52  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R10X_CellBased", m_BDTCutValue_R10X_CellBased) );
53  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R11X_CellBased", m_BDTCutValue_R11X_CellBased) );
54  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R110_CellBased", m_BDTCutValue_R110_CellBased) );
55  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R1XX_CellBased", m_BDTCutValue_R1XX_CellBased) );
56  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R30X_CellBased", m_BDTCutValue_R30X_CellBased) );
57  ATH_CHECK( m_Tool_InformationStore->getInfo_Double("DecayModeDeterminator_BDTCutValue_R3XX_CellBased", m_BDTCutValue_R3XX_CellBased) );
58 
59  return StatusCode::SUCCESS;
60 }

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

Definition at line 51 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_InformationStoreName

std::string PanTau::Tool_DecayModeDeterminator::m_Tool_InformationStoreName
private

Definition at line 56 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_1p0n_vs_1p1n

ToolHandle<PanTau::ITool_ModeDiscriminator> PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1n
private

Definition at line 52 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_1p0n_vs_1p1nName

std::string PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1nName
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
private

Definition at line 53 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_1p1n_vs_1pXnName

std::string PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p1n_vs_1pXnName
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
private

Definition at line 54 of file Tool_DecayModeDeterminator.h.

◆ m_Tool_ModeDiscriminator_3p0n_vs_3pXnName

std::string PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_3p0n_vs_3pXnName
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:54
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
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:37
StateLessPT_NewConfig.proxy
proxy
Definition: StateLessPT_NewConfig.py:392
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
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
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
PanTau::PanTauSeed::getNameInputAlgorithm
std::string getNameInputAlgorithm() const
Definition: PanTauSeed.h:227
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:53
PanTau::PanTauSeed::t_ExtMode300
@ t_ExtMode300
Definition: PanTauSeed.h:49
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1n
ToolHandle< PanTau::ITool_ModeDiscriminator > m_Tool_ModeDiscriminator_1p0n_vs_1p1n
Definition: Tool_DecayModeDeterminator.h:52
PanTau::PanTauSeed::t_NoValidInputTau
@ t_NoValidInputTau
Definition: PanTauSeed.h:34
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_3p0n_vs_3pXnName
std::string m_Tool_ModeDiscriminator_3p0n_vs_3pXnName
Definition: Tool_DecayModeDeterminator.h:60
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:38
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:51
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:35
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::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
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:34
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:36
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:192
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:64
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::Tool_DecayModeDeterminator::m_Tool_InformationStoreName
std::string m_Tool_InformationStoreName
Definition: Tool_DecayModeDeterminator.h:56
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::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:616
xAOD::TauJetParameters::Mode_3pXn
@ Mode_3pXn
Definition: TauDefs.h:390
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
PanTau::TauConstituent
Definition: TauConstituent.h:25
SG::DataProxy
Definition: DataProxy.h:44
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::TauConstituent::getShots
std::vector< TauConstituent * > getShots() const
Definition: TauConstituent.cxx:261
PanTau::Tool_DecayModeDeterminator::m_Tool_ModeDiscriminator_1p0n_vs_1p1nName
std::string m_Tool_ModeDiscriminator_1p0n_vs_1p1nName
Definition: Tool_DecayModeDeterminator.h:58
PanTau::Tool_DecayModeDeterminator::t_nTests
@ t_nTests
Definition: Tool_DecayModeDeterminator.h:39
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