ATLAS Offline Software
|
Electron selector tool to select objects in Athena using an underlying pure ROOT tool. More...
#include <AsgElectronLikelihoodTool.h>
Public Member Functions | |
virtual StatusCode | initialize () override |
Gaudi Service Interface method implementations. More... | |
virtual const asg::AcceptInfo & | getAcceptInfo () const override |
Method to get the plain AcceptInfo. More... | |
virtual asg::AcceptData | accept (const xAOD::IParticle *part) const override final |
The main accept method: using the generic interface. More... | |
virtual asg::AcceptData | accept (const EventContext &ctx, const xAOD::IParticle *part) const override final |
virtual asg::AcceptData | accept (const EventContext &ctx, const xAOD::Electron *eg) const override final |
The main accept method: the actual cuts are applied here. More... | |
virtual asg::AcceptData | accept (const EventContext &ctx, const xAOD::Egamma *eg) const override final |
The main accept method: the actual cuts are applied here. More... | |
virtual asg::AcceptData | accept (const EventContext &ctx, const xAOD::Electron *eg, double mu) const override final |
The main accept method: in case mu not in EventInfo online. More... | |
virtual asg::AcceptData | accept (const EventContext &ctx, const xAOD::Egamma *eg, double mu) const override final |
The main accept method: in case mu not in EventInfo online. More... | |
virtual double | calculate (const EventContext &ctx, const xAOD::IParticle *part) const override final |
calculate method: for pointer to IParticle More... | |
virtual double | calculate (const EventContext &ctx, const xAOD::Electron *eg) const override final |
The main result method: the actual likelihood is calculated here. More... | |
virtual double | calculate (const EventContext &ctx, const xAOD::Egamma *eg) const override final |
The main result method: the actual likelihood is calculated here. More... | |
virtual double | calculate (const EventContext &ctx, const xAOD::Electron *eg, double mu) const override final |
The main result method: the actual likelihood is calculated here. More... | |
virtual double | calculate (const EventContext &ctx, const xAOD::Egamma *eg, double mu) const override final |
The main result method: the actual likelihood is calculated here. More... | |
virtual std::vector< float > | calculateMultipleOutputs (const EventContext &ctx, const xAOD::Electron *eg, double mu=-99) const override final |
The result method for multiple outputs: only one output is used so return vector of that output. More... | |
virtual std::string | getOperatingPointName () const override final |
Get the name of the current operating point. More... | |
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< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
virtual ASG_TOOL_CLASS2(AsgElectronLikelihoodTool, IAsgElectronLikelihoodTool, IAsgSelectionTool) public | ~AsgElectronLikelihoodTool () |
Standard constructor. More... | |
double | getIpVariable (double mu, const EventContext &ctx) const |
Get IP variable based on user configuration. More... | |
unsigned int | getNPrimVertices (const EventContext &ctx) const |
Get the number of primary vertices. More... | |
double | getAverageMu (const EventContext &ctx) const |
Get the average mu. More... | |
double | getFcalEt (const EventContext &ctx) const |
Get the FCal ET for centrality determination (for HI collisions) More... | |
bool | isForwardElectron (const xAOD::Egamma *eg, const float eta) const |
check for FwdElectron More... | |
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 | |
std::string | m_WorkingPoint |
Working Point. More... | |
std::string | m_configFile |
Root::TElectronLikelihoodTool * | m_rootTool |
Pointer to the underlying ROOT based tool. More... | |
bool | m_usePVCont |
Whether to use the PV (not available for trigger) More... | |
unsigned int | m_nPVdefault |
defualt nPV (when not using PVCont) More... | |
bool | m_useCaloSumsCont |
Whether or not to use the CaloSums container in HI events. More... | |
double | m_fcalEtDefault |
defualt FCal ET (when not using CaloSums container, in HI events) More... | |
std::string | m_pdfFileName |
The input ROOT file name that holds the PDFs. More... | |
bool | m_caloOnly = false |
Flag for calo only LH. More... | |
bool | m_skipDeltaPoverP |
Flag for skip the use of deltaPoverP in LH computation (like at HLT) More... | |
bool | m_correctDeltaEta = false |
Flag to toggle the correction of deltaEta1 for the pear shape distortion of the LAr. More... | |
bool | m_useAverageMu = false |
SG::ReadHandleKey< xAOD::HIEventShapeContainer > | m_HIESContKey |
read handle key to heavy ion container More... | |
SG::ReadHandleKey< xAOD::VertexContainer > | m_primVtxContKey |
read handle key to primary vertex container More... | |
SG::ReadDecorHandleKey< xAOD::EventInfo > | m_avgMuKey |
read handle key to averager mu More... | |
StoreGateSvc_t | m_evtStore |
Pointer to StoreGate (event store by default) More... | |
StoreGateSvc_t | m_detStore |
Pointer to StoreGate (detector store by default) More... | |
std::vector< SG::VarHandleKeyArray * > | m_vhka |
bool | m_varHandleArraysDeclared |
Electron selector tool to select objects in Athena using an underlying pure ROOT tool.
Definition at line 27 of file AsgElectronLikelihoodTool.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
privatevirtual |
Standard constructor.
Standard destructor
Definition at line 74 of file AsgElectronLikelihoodTool.cxx.
|
inlinefinaloverridevirtual |
The main accept method: the actual cuts are applied here.
Implements IAsgElectronLikelihoodTool.
Definition at line 71 of file AsgElectronLikelihoodTool.h.
|
finaloverridevirtual |
The main accept method: in case mu not in EventInfo online.
Implements IAsgElectronLikelihoodTool.
Definition at line 409 of file AsgElectronLikelihoodTool.cxx.
|
inlinefinaloverridevirtual |
The main accept method: the actual cuts are applied here.
Implements IAsgElectronLikelihoodTool.
Definition at line 63 of file AsgElectronLikelihoodTool.h.
|
finaloverridevirtual |
The main accept method: in case mu not in EventInfo online.
Implements IAsgElectronLikelihoodTool.
Definition at line 265 of file AsgElectronLikelihoodTool.cxx.
|
finaloverridevirtual |
Implements IAsgElectronLikelihoodTool.
Definition at line 875 of file AsgElectronLikelihoodTool.cxx.
|
finaloverridevirtual |
The main accept method: using the generic interface.
Implements IAsgElectronLikelihoodTool.
Definition at line 868 of file AsgElectronLikelihoodTool.cxx.
|
inlinefinaloverridevirtual |
The main result method: the actual likelihood is calculated here.
Implements IAsgElectronLikelihoodTool.
Definition at line 102 of file AsgElectronLikelihoodTool.h.
|
finaloverridevirtual |
The main result method: the actual likelihood is calculated here.
Implements IAsgElectronLikelihoodTool.
Definition at line 723 of file AsgElectronLikelihoodTool.cxx.
|
inlinefinaloverridevirtual |
The main result method: the actual likelihood is calculated here.
Implements IAsgElectronLikelihoodTool.
Definition at line 94 of file AsgElectronLikelihoodTool.h.
|
finaloverridevirtual |
The main result method: the actual likelihood is calculated here.
Implements IAsgElectronLikelihoodTool.
Definition at line 502 of file AsgElectronLikelihoodTool.cxx.
|
finaloverridevirtual |
calculate method: for pointer to IParticle
Implements IAsgElectronLikelihoodTool.
Definition at line 887 of file AsgElectronLikelihoodTool.cxx.
|
inlinefinaloverridevirtual |
The result method for multiple outputs: only one output is used so return vector of that output.
Implements IAsgElectronLikelihoodTool.
Definition at line 122 of file AsgElectronLikelihoodTool.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
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.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation 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.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation 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.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
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
|
overridevirtual |
Method to get the plain AcceptInfo.
This is needed so that one can already get the AcceptInfo and query what cuts are defined before the first object is passed to the tool.
Implements IAsgSelectionTool.
Definition at line 258 of file AsgElectronLikelihoodTool.cxx.
|
private |
|
private |
Get the FCal ET for centrality determination (for HI collisions)
Definition at line 952 of file AsgElectronLikelihoodTool.cxx.
|
private |
Get IP variable based on user configuration.
Definition at line 902 of file AsgElectronLikelihoodTool.cxx.
|
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.
ptr | The bare pointer to the object that the event store should know about |
Definition at line 119 of file AsgTool.cxx.
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.
ptr | The bare pointer to the object that the event store should know about |
Definition at line 106 of file AsgTool.cxx.
|
private |
|
finaloverridevirtual |
Get the name of the current operating point.
Implements IAsgElectronLikelihoodTool.
Definition at line 861 of file AsgElectronLikelihoodTool.cxx.
Get one of the tool's properties.
|
overridevirtual |
Gaudi Service Interface method implementations.
--------—Begin of text config-------------------------—
--------—End of text config-------------------------—
Reimplemented from asg::AsgTool.
Definition at line 80 of file AsgElectronLikelihoodTool.cxx.
|
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.
|
private |
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
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:
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
Definition at line 101 of file AsgTool.cxx.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
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.
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
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.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
read handle key to averager mu
Definition at line 204 of file AsgElectronLikelihoodTool.h.
|
private |
Flag for calo only LH.
Definition at line 176 of file AsgElectronLikelihoodTool.h.
|
private |
Definition at line 155 of file AsgElectronLikelihoodTool.h.
|
private |
Flag to toggle the correction of deltaEta1 for the pear shape distortion of the LAr.
Definition at line 182 of file AsgElectronLikelihoodTool.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
defualt FCal ET (when not using CaloSums container, in HI events)
Definition at line 170 of file AsgElectronLikelihoodTool.h.
|
private |
read handle key to heavy ion container
Definition at line 188 of file AsgElectronLikelihoodTool.h.
|
private |
defualt nPV (when not using PVCont)
Definition at line 164 of file AsgElectronLikelihoodTool.h.
|
private |
The input ROOT file name that holds the PDFs.
Definition at line 173 of file AsgElectronLikelihoodTool.h.
|
private |
read handle key to primary vertex container
Definition at line 196 of file AsgElectronLikelihoodTool.h.
|
private |
Pointer to the underlying ROOT based tool.
Definition at line 158 of file AsgElectronLikelihoodTool.h.
|
private |
Flag for skip the use of deltaPoverP in LH computation (like at HLT)
Definition at line 179 of file AsgElectronLikelihoodTool.h.
|
private |
Definition at line 185 of file AsgElectronLikelihoodTool.h.
|
private |
Whether or not to use the CaloSums container in HI events.
Definition at line 167 of file AsgElectronLikelihoodTool.h.
|
private |
Whether to use the PV (not available for trigger)
Definition at line 161 of file AsgElectronLikelihoodTool.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
Working Point.
Definition at line 152 of file AsgElectronLikelihoodTool.h.