ATLAS Offline Software
Loading...
Searching...
No Matches
Trig::TrigEgammaEmulationFastCaloHypoTool Class Reference

#include <TrigEgammaEmulationFastCaloHypoTool.h>

Inheritance diagram for Trig::TrigEgammaEmulationFastCaloHypoTool:
Collaboration diagram for Trig::TrigEgammaEmulationFastCaloHypoTool:

Public Member Functions

 TrigEgammaEmulationFastCaloHypoTool (const std::string &myname)
 ~TrigEgammaEmulationFastCaloHypoTool ()=default
virtual bool emulate (const Trig::TrigData &input, bool &pass) const override
 ==========================================================================
virtual StatusCode initialize () override
 ==========================================================================
virtual void print () const
 Print the state of the tool.
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const
Additional helper functions, not directly mimicking Athena
template<class T>
const T * getProperty (const std::string &name) const
 Get one of the tool's properties.
const std::string & msg_level_name () const __attribute__((deprecated))
 A deprecated function for getting the message level's name.
const std::string & getName (const void *ptr) const
 Get the name of an object that is / should be in the event store.
SG::sgkey_t getKey (const void *ptr) const
 Get the (hashed) key of an object that is in the event store.

Protected Member Functions

float avgmu () const
void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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.

Protected Attributes

ToolHandle< Trig::TrigDecisionToolm_trigdec
 Trigger decision tool.
ToolHandle< ILumiBlockMuToolm_lumiBlockMuTool

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool decide (const Trig::TrigData &input) const
 ==========================================================================
bool decide_ringer (const Trig::TrigData &input) const
 ==========================================================================
int findCutIndex (float eta) const
 ==========================================================================
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

Gaudi::Property< bool > m_acceptAll { this, "AcceptAll", false , "Accept all" }
Gaudi::Property< bool > m_useRinger { this, "UseRinger", false , "Use Ringer Selection" }
Gaudi::Property< std::string > m_pidName {this,"PidName", "", "Pid name"}
Gaudi::Property< float > m_emEtCut {this,"EtCut", 0.0, "Et threshold"}
Gaudi::Property< std::vector< float > > m_etabin { this, "EtaBins", {} , "Bins of eta" }
 selection variable for L2 calo selection:eta bins
Gaudi::Property< std::vector< float > > m_eTthr { this, "ETthr", {}, "ET Threshold" }
Gaudi::Property< std::vector< float > > m_eT2thr { this, "ET2thr", {}, "Second layer ET threshold" }
Gaudi::Property< std::vector< float > > m_hadeTthr { this, "HADETthr", {}, "" }
Gaudi::Property< std::vector< float > > m_hadeT2thr { this, "HADET2thr", {}, "" }
Gaudi::Property< std::vector< float > > m_carcorethr { this, "CARCOREthr", {}, "" }
Gaudi::Property< std::vector< float > > m_caeratiothr { this, "CAERATIOthr", {}, "" }
Gaudi::Property< std::vector< float > > m_F1thr { this, "F1thr", {}, "" }
Gaudi::Property< std::vector< float > > m_WETA2thr { this, "WETA2thr", {}, "" }
Gaudi::Property< std::vector< float > > m_WSTOTthr { this, "WSTOTthr", {}, "" }
Gaudi::Property< std::vector< float > > m_F3thr { this, "F3thr", {}, "" }
Gaudi::Property< float > m_detacluster { this, "dETACLUSTERthr", 0. , "" }
Gaudi::Property< float > m_dphicluster { this, "dPHICLUSTERthr", 0. , "" }
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 14 of file TrigEgammaEmulationFastCaloHypoTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TrigEgammaEmulationFastCaloHypoTool()

TrigEgammaEmulationFastCaloHypoTool::TrigEgammaEmulationFastCaloHypoTool ( const std::string & myname)

Definition at line 11 of file TrigEgammaEmulationFastCaloHypoTool.cxx.

◆ ~TrigEgammaEmulationFastCaloHypoTool()

Trig::TrigEgammaEmulationFastCaloHypoTool::~TrigEgammaEmulationFastCaloHypoTool ( )
default

Member Function Documentation

◆ avgmu()

float TrigEgammaEmulationBaseHypoTool::avgmu ( ) const
protectedinherited

Definition at line 26 of file TrigEgammaEmulationBaseHypoTool.cxx.

27{
28 return m_lumiBlockMuTool->averageInteractionsPerCrossing(Gaudi::Hive::currentContext());
29}

◆ decide()

bool TrigEgammaEmulationFastCaloHypoTool::decide ( const Trig::TrigData & input) const
private

==========================================================================

Definition at line 49 of file TrigEgammaEmulationFastCaloHypoTool.cxx.

50{
51 const TrigRoiDescriptor *roiDescriptor = input.roi;
52 bool pass = false;
53 int PassedCuts=0;
54 float rCore, F1, F3, Weta2, Wstot, hadET_T2Calo, energyRatio = -1;
55
56
57 // when leaving scope it will ship data to monTool
58 PassedCuts = PassedCuts + 1; //got called (data in place)
59
60 if ( m_acceptAll ) {
61 pass = true;
62 ATH_MSG_DEBUG( "AcceptAll property is set: taking all events" );
63 } else {
64 pass = false;
65 ATH_MSG_DEBUG( "AcceptAll property not set: applying selection" );
66 }
67
68
69 if ( std::abs( roiDescriptor->eta() ) > 2.6 ) {
70 ATH_MSG_DEBUG( "REJECT The cluster had eta coordinates beyond the EM fiducial volume : " << roiDescriptor->eta() << "; stop the chain now" );
71 pass=false; // special case
72 return pass;
73 }
74
75 ATH_MSG_DEBUG( "; RoI ID = " << roiDescriptor->roiId()
76 << ": Eta = " << roiDescriptor->eta()
77 << ", Phi = " << roiDescriptor->phi() );
78
79 // fill local variables for RoI reference position
80 float etaRef = roiDescriptor->eta();
81 float phiRef = roiDescriptor->phi();
82 // correct phi the to right range ( probably not needed anymore )
83 if ( std::abs( phiRef ) > M_PI ) phiRef -= 2*M_PI; // correct phi if outside range
84
85 auto pClus = input.emCluster;
86 float absEta = std::abs( pClus->eta() );
87
88 const int cutIndex = findCutIndex( absEta );
89
90 // find if electron is in calorimeter crack
91 bool inCrack = ( absEta > 2.37 || ( absEta > 1.37 && absEta < 1.52 ) );
92 float dEta = pClus->eta() - etaRef;
93
94 // Deal with angle diferences greater than Pi
95 float dPhi = std::abs( pClus->phi() - phiRef );
96 dPhi = ( dPhi < M_PI ? dPhi : 2*M_PI - dPhi ); // TB why only <
97
98 // calculate cluster quantities // definition taken from TrigElectron constructor
99 if ( pClus->emaxs1() + pClus->e2tsts1() > 0 )
100 energyRatio = ( pClus->emaxs1() - pClus->e2tsts1() ) / ( pClus->emaxs1() + pClus->e2tsts1() );
101
102 // ( VD ) here the definition is a bit different to account for the cut of e277 @ EF
103 if ( pClus->e277()!= 0. ) rCore = pClus->e237() / pClus->e277();
104
105 //fraction of energy deposited in 1st sampling
106 if ( std::abs( pClus->energy() ) > 0.00001 ) F1 = ( pClus->energy( CaloSampling::EMB1 )+pClus->energy( CaloSampling::EME1 ) )/pClus->energy();
107 float eT_T2Calo = pClus->et();
108 if ( eT_T2Calo!=0 && pClus->eta()!=0 ) hadET_T2Calo = pClus->ehad1()/cosh( fabs( pClus->eta() ) )/eT_T2Calo;
109
110 //extract Weta2 varable
111 Weta2 = pClus->weta2();
112
113 //extract Wstot varable
114 Wstot = pClus->wstot();
115
116 //extract F3 ( backenergy i EM calorimeter
117 float e0 = pClus->energy( CaloSampling::PreSamplerB ) + pClus->energy( CaloSampling::PreSamplerE );
118 float e1 = pClus->energy( CaloSampling::EMB1 ) + pClus->energy( CaloSampling::EME1 );
119 float e2 = pClus->energy( CaloSampling::EMB2 ) + pClus->energy( CaloSampling::EME2 );
120 float e3 = pClus->energy( CaloSampling::EMB3 ) + pClus->energy( CaloSampling::EME3 );
121 float eallsamples = e0+e1+e2+e3;
122 F3 = std::abs( eallsamples )>0. ? e3/eallsamples : 0.;
123
124 // apply cuts: DeltaEta( clus-ROI )
125 ATH_MSG_DEBUG( "TrigEMCluster: eta=" << pClus->eta()
126 << " roi eta=" << etaRef << " DeltaEta=" << dEta
127 << " cut: <" << m_detacluster );
128
129 if ( std::abs( pClus->eta() - etaRef ) > m_detacluster ) {
130 ATH_MSG_DEBUG("REJECT Cluster dEta cut failed");
131 return pass;
132 }
133 PassedCuts = PassedCuts + 1; //Deta
134
135 // DeltaPhi( clus-ROI )
136 ATH_MSG_DEBUG( ": phi=" << pClus->phi()
137 << " roi phi="<< phiRef << " DeltaPhi="<< dPhi
138 << " cut: <" << m_dphicluster );
139
140 if( dPhi > m_dphicluster ) {
141 ATH_MSG_DEBUG("REJECT Clsuter dPhi cut failed");
142 return pass;
143 }
144 PassedCuts = PassedCuts + 1; //DPhi
145
146 // eta range
147 if ( cutIndex == -1 ) { // VD
148 ATH_MSG_DEBUG( "Cluster eta: " << absEta << " outside eta range " << m_etabin[m_etabin.size()-1] );
149 return pass;
150 }
151 else {
152 ATH_MSG_DEBUG( "eta bin used for cuts " << cutIndex );
153 }
154 PassedCuts = PassedCuts + 1; // passed eta cut
155
156 // Rcore
157 ATH_MSG_DEBUG ( "TrigEMCluster: Rcore=" << rCore
158 << " cut: >" << m_carcorethr[cutIndex] );
159 if ( rCore < m_carcorethr[cutIndex] ) {
160 ATH_MSG_DEBUG("REJECT rCore cut failed");
161 return pass;
162 }
163 PassedCuts = PassedCuts + 1; //Rcore
164
165 // Eratio
166 ATH_MSG_DEBUG( " cut: >" << m_caeratiothr[cutIndex] );
167 if ( inCrack || F1 < m_F1thr[0] ) {
168 ATH_MSG_DEBUG ( "TrigEMCluster: InCrack= " << inCrack << " F1=" << F1 );
169 }
170 else {
171 if ( energyRatio < m_caeratiothr[cutIndex] ) {
172 ATH_MSG_DEBUG("REJECT e ratio cut failed");
173 return pass;
174 }
175 }
176 PassedCuts = PassedCuts + 1; //Eratio
177 if( inCrack ) energyRatio = -1; //Set default value in crack for monitoring.
178
179 // ET_em
180 ATH_MSG_DEBUG( "TrigEMCluster: ET_em=" << eT_T2Calo << " cut: >" << m_eTthr[cutIndex] );
181 if ( eT_T2Calo < m_eTthr[cutIndex] ) {
182 ATH_MSG_DEBUG("REJECT et cut failed");
183 return pass;
184 }
185 PassedCuts = PassedCuts + 1; // ET_em
186
187 float hadET_cut = 0.0;
188 // find which ET_had to apply : this depends on the ET_em and the eta bin
189 if ( eT_T2Calo > m_eT2thr[cutIndex] ) {
190 hadET_cut = m_hadeT2thr[cutIndex] ;
191 ATH_MSG_DEBUG ( "ET_em>" << m_eT2thr[cutIndex] << ": use high ET_had cut: <" << hadET_cut );
192 }
193 else {
194 hadET_cut = m_hadeTthr[cutIndex];
195 ATH_MSG_DEBUG ( "ET_em<" << m_eT2thr[cutIndex] << ": use low ET_had cut: <" << hadET_cut );
196 }
197
198 // ET_had
199 ATH_MSG_DEBUG ( "TrigEMCluster: ET_had=" << hadET_T2Calo << " cut: <" << hadET_cut );
200 if ( hadET_T2Calo > hadET_cut ) {
201 ATH_MSG_DEBUG("REJECT et had cut failed");
202 return pass;
203 }
204 PassedCuts = PassedCuts + 1; //ET_had
205
206 // F1
207 ATH_MSG_DEBUG ( "TrigEMCluster: F1=" << F1 << " cut: >" << m_F1thr[0] );
208 PassedCuts = PassedCuts + 1; //F1
209
210 //Weta2
211 ATH_MSG_DEBUG ( "TrigEMCluster: Weta2=" << Weta2 << " cut: <" << m_WETA2thr[cutIndex] );
212 if ( Weta2 > m_WETA2thr[cutIndex] ) {
213 ATH_MSG_DEBUG("REJECT weta 2 cut failed");
214 return pass;
215 }
216 PassedCuts = PassedCuts + 1; //Weta2
217
218 //Wstot
219 ATH_MSG_DEBUG ( "TrigEMCluster: Wstot=" <<Wstot << " cut: <" << m_WSTOTthr[cutIndex] );
220 if ( Wstot >= m_WSTOTthr[cutIndex] ) {
221 ATH_MSG_DEBUG("REJECT wstot cut failed");
222 return pass;
223 }
224 PassedCuts = PassedCuts + 1; //Wstot
225
226 //F3
227 ATH_MSG_DEBUG( "TrigEMCluster: F3=" << F3 << " cut: <" << m_F3thr[cutIndex] );
228 if ( F3 > m_F3thr[cutIndex] ) {
229 ATH_MSG_DEBUG("REJECT F3 cut failed");
230 return pass;
231 }
232 PassedCuts = PassedCuts + 1; //F3
233
234 // got this far => passed!
235 pass = true;
236
237 // Reach this point successfully
238 ATH_MSG_DEBUG( "pass = " << pass );
239
240 return pass;
241
242
243}
#define M_PI
#define ATH_MSG_DEBUG(x)
Athena::TPCnvVers::Current TrigRoiDescriptor
virtual double phi() const override final
Methods to retrieve data members.
virtual double eta() const override final
virtual unsigned int roiId() const override final
these quantities probably don't need to be used any more
int findCutIndex(float eta) const
==========================================================================
Gaudi::Property< std::vector< float > > m_etabin
selection variable for L2 calo selection:eta bins
Gaudi::Property< std::vector< float > > m_caeratiothr
bool dPhi(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool dEta(const xAOD::TauJet &tau, const xAOD::CaloVertexedTopoCluster &cluster, float &out)
bool absEta(const xAOD::TauJet &tau, float &out)
double e2(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 2nd sampling
double e0(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in pre-sampler
double e1(const xAOD::CaloCluster &cluster)
return the uncorrected cluster energy in 1st sampling

◆ decide_ringer()

bool TrigEgammaEmulationFastCaloHypoTool::decide_ringer ( const Trig::TrigData & input) const
private

==========================================================================

Definition at line 249 of file TrigEgammaEmulationFastCaloHypoTool.cxx.

250{
251
252
253 if ( m_acceptAll ) {
254 return true;
255 ATH_MSG_DEBUG( "AcceptAll property is set: taking all events" );
256 } else {
257 ATH_MSG_DEBUG( "AcceptAll property not set: applying selection" );
258 }
259
260 if(input.emCluster->et() < m_emEtCut)
261 {
262 ATH_MSG_DEBUG( "Event reproved by Et threshold. Et = " << input.emCluster->et() << " EtCut = " << m_emEtCut );
263 return false;
264 }
265
266 if(!input.rings)
267 {
268 ATH_MSG_DEBUG( "Ringer is null ptr");
269 return false;
270 }
271
272
273 bool pass = input.isPassed( input.rings, avgmu(), m_pidName);
274
275
276 // got this far => passed!
277 return pass;
278}

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

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

◆ emulate()

bool TrigEgammaEmulationFastCaloHypoTool::emulate ( const Trig::TrigData & input,
bool & pass ) const
overridevirtual

==========================================================================

Reimplemented from Trig::TrigEgammaEmulationBaseHypoTool.

Definition at line 26 of file TrigEgammaEmulationFastCaloHypoTool.cxx.

28{
29 pass = false;
30
31 if(!input.roi){
32 ATH_MSG_DEBUG( "RoI is null ptr");
33 return false;
34 }
35
36 if(!input.emCluster){
37 ATH_MSG_DEBUG( "Cluster is null ptr");
38 return false;
39 }
40
41 pass = m_useRinger? decide_ringer(input) : decide(input);
42
43 return true;
44}
bool decide_ringer(const Trig::TrigData &input) const
==========================================================================
bool decide(const Trig::TrigData &input) const
==========================================================================

◆ evtStore()

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.

◆ 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

◆ findCutIndex()

int TrigEgammaEmulationFastCaloHypoTool::findCutIndex ( float eta) const
private

==========================================================================

Definition at line 283 of file TrigEgammaEmulationFastCaloHypoTool.cxx.

284{
285 const float absEta = std::abs(eta);
286 auto binIterator = std::adjacent_find( m_etabin.begin(), m_etabin.end(), [=](float left, float right){ return left < absEta and absEta < right; } );
287 if ( binIterator == m_etabin.end() ) {
288 return -1;
289 }
290 return binIterator - m_etabin.begin();
291}
Scalar eta() const
pseudorapidity method

◆ 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 }
ServiceHandle< StoreGateSvc > & evtStore()

◆ 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 TrigEgammaEmulationFastCaloHypoTool::initialize ( void )
overridevirtual

==========================================================================

Reimplemented from Trig::TrigEgammaEmulationBaseHypoTool.

Definition at line 17 of file TrigEgammaEmulationFastCaloHypoTool.cxx.

18{
20 return StatusCode::SUCCESS;
21}
#define ATH_CHECK
Evaluate an expression and check for errors.
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.

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

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ 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 }
MsgStream & msg() const
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
Definition MsgLevel.cxx:19

◆ 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()

◆ 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();
384 }
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)

◆ 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 {
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 asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ 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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_acceptAll

Gaudi::Property< bool > Trig::TrigEgammaEmulationFastCaloHypoTool::m_acceptAll { this, "AcceptAll", false , "Accept all" }
private

Definition at line 38 of file TrigEgammaEmulationFastCaloHypoTool.h.

38{ this, "AcceptAll", false , "Accept all" };

◆ m_caeratiothr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_caeratiothr { this, "CAERATIOthr", {}, "" }
private

Definition at line 51 of file TrigEgammaEmulationFastCaloHypoTool.h.

51{ this, "CAERATIOthr", {}, "" };

◆ m_carcorethr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_carcorethr { this, "CARCOREthr", {}, "" }
private

Definition at line 50 of file TrigEgammaEmulationFastCaloHypoTool.h.

50{ this, "CARCOREthr", {}, "" };

◆ m_detacluster

Gaudi::Property< float > Trig::TrigEgammaEmulationFastCaloHypoTool::m_detacluster { this, "dETACLUSTERthr", 0. , "" }
private

Definition at line 56 of file TrigEgammaEmulationFastCaloHypoTool.h.

56{ this, "dETACLUSTERthr", 0. , "" };

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

Gaudi::Property< float > Trig::TrigEgammaEmulationFastCaloHypoTool::m_dphicluster { this, "dPHICLUSTERthr", 0. , "" }
private

Definition at line 57 of file TrigEgammaEmulationFastCaloHypoTool.h.

57{ this, "dPHICLUSTERthr", 0. , "" };

◆ m_emEtCut

Gaudi::Property<float> Trig::TrigEgammaEmulationFastCaloHypoTool::m_emEtCut {this,"EtCut", 0.0, "Et threshold"}
private

Definition at line 41 of file TrigEgammaEmulationFastCaloHypoTool.h.

41{this,"EtCut", 0.0, "Et threshold"};

◆ m_eT2thr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_eT2thr { this, "ET2thr", {}, "Second layer ET threshold" }
private

Definition at line 47 of file TrigEgammaEmulationFastCaloHypoTool.h.

47{ this, "ET2thr", {}, "Second layer ET threshold" };

◆ m_etabin

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_etabin { this, "EtaBins", {} , "Bins of eta" }
private

selection variable for L2 calo selection:eta bins

Definition at line 45 of file TrigEgammaEmulationFastCaloHypoTool.h.

45{ this, "EtaBins", {} , "Bins of eta" };

◆ m_eTthr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_eTthr { this, "ETthr", {}, "ET Threshold" }
private

Definition at line 46 of file TrigEgammaEmulationFastCaloHypoTool.h.

46{ this, "ETthr", {}, "ET Threshold" };

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

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_F1thr { this, "F1thr", {}, "" }
private

Definition at line 52 of file TrigEgammaEmulationFastCaloHypoTool.h.

52{ this, "F1thr", {}, "" };

◆ m_F3thr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_F3thr { this, "F3thr", {}, "" }
private

Definition at line 55 of file TrigEgammaEmulationFastCaloHypoTool.h.

55{ this, "F3thr", {}, "" };

◆ m_hadeT2thr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_hadeT2thr { this, "HADET2thr", {}, "" }
private

Definition at line 49 of file TrigEgammaEmulationFastCaloHypoTool.h.

49{ this, "HADET2thr", {}, "" };

◆ m_hadeTthr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_hadeTthr { this, "HADETthr", {}, "" }
private

Definition at line 48 of file TrigEgammaEmulationFastCaloHypoTool.h.

48{ this, "HADETthr", {}, "" };

◆ m_lumiBlockMuTool

ToolHandle<ILumiBlockMuTool> Trig::TrigEgammaEmulationBaseHypoTool::m_lumiBlockMuTool
protectedinherited

Definition at line 41 of file TrigEgammaEmulationBaseHypoTool.h.

◆ m_pidName

Gaudi::Property<std::string> Trig::TrigEgammaEmulationFastCaloHypoTool::m_pidName {this,"PidName", "", "Pid name"}
private

Definition at line 40 of file TrigEgammaEmulationFastCaloHypoTool.h.

40{this,"PidName", "", "Pid name"};

◆ m_trigdec

ToolHandle<Trig::TrigDecisionTool> Trig::TrigEgammaEmulationBaseHypoTool::m_trigdec
protectedinherited

Trigger decision tool.

Definition at line 40 of file TrigEgammaEmulationBaseHypoTool.h.

◆ m_useRinger

Gaudi::Property< bool > Trig::TrigEgammaEmulationFastCaloHypoTool::m_useRinger { this, "UseRinger", false , "Use Ringer Selection" }
private

Definition at line 39 of file TrigEgammaEmulationFastCaloHypoTool.h.

39{ this, "UseRinger", false , "Use Ringer Selection" };

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.

◆ m_WETA2thr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_WETA2thr { this, "WETA2thr", {}, "" }
private

Definition at line 53 of file TrigEgammaEmulationFastCaloHypoTool.h.

53{ this, "WETA2thr", {}, "" };

◆ m_WSTOTthr

Gaudi::Property< std::vector<float> > Trig::TrigEgammaEmulationFastCaloHypoTool::m_WSTOTthr { this, "WSTOTthr", {}, "" }
private

Definition at line 54 of file TrigEgammaEmulationFastCaloHypoTool.h.

54{ this, "WSTOTthr", {}, "" };

The documentation for this class was generated from the following files: