|
ATLAS Offline Software
|
Concrete implementation of HIJetSubtractorToolBase. Class used by HIClusterSubtraction and HIJetConstituentSubtractionTool to provide kinematics of a cluster after subtraction given an event shape. This version of the tool does not use the cell information and thus should be faster than HIJetCellSubtractorTool.
More...
#include <HIJetClusterSubtractorTool.h>
|
| HIJetClusterSubtractorTool (const std::string &myname) |
| Implements method defined in base First argument is reference to four vector that is updated to reflect the subtracted kinematics of the IParticle passed in the second arg Method expects cl_in to be a cluster. More...
|
|
virtual void | subtract (xAOD::IParticle::FourMom_t &, const xAOD::IParticle *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *eshape) const override |
| Abstract method where particle itself is not modified IParticle::FourMom_t containing kinematics after subtraction is passed by reference. More...
|
|
virtual void | subtractWithMoments (xAOD::CaloCluster *, const xAOD::HIEventShapeContainer *, const HIEventShapeIndex *index, const ToolHandle< IHIUEModulatorTool > &, const xAOD::HIEventShape *eshape) const override |
|
virtual void | updateUsingCluster (xAOD::HIEventShapeContainer *shape, const HIEventShapeIndex *index, const xAOD::CaloCluster *cl) const override |
| Method to update the shape based on a given cluster two sets of indices are passed by reference and updated by the method sets are queried to see if the cluster has already been used, e.g. More...
|
|
virtual StatusCode | initialize () override |
| Dummy implementation of the initialisation function. More...
|
|
virtual StatusCode | initializeTool () |
|
float | minEnergyForMoments () const |
|
float | minEnergySigForMoments () const |
|
bool | usesCells () const |
|
const xAOD::HIEventShapeContainer * | getShape () const |
|
const HIEventShapeIndex * | getIndex () const |
|
const IHIUEModulatorTool * | getModulator () const |
|
void | setShape (const xAOD::HIEventShapeContainer *s) |
|
void | setIndex (const HIEventShapeIndex *ind) |
|
void | setModulator (const IHIUEModulatorTool *mod) |
|
virtual StatusCode | configureEvent (const xAOD::HIEventShapeContainer *shape, const HIEventShapeIndex *index, const IHIUEModulatorTool *modulator) |
|
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 |
|
|
| ASG_TOOL_CLASS (HIJetClusterSubtractorTool, IHISubtractorTool) |
|
float | getWeight (float eta, float phi, int sample) const |
|
float | getWeightEta (float eta, float phi, int sample) const |
|
float | getWeightPhi (float eta, float phi, int sample) const |
|
void | updateSlice (xAOD::HIEventShape *slice, float ET, float phi0, float area_cluster) const |
|
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...
|
|
|
bool | m_init |
|
Gaudi::Property< std::string > | m_inputFile { this, "InputFile", "cluster.geo.HIJING_2018.root", "File containing cluster geometric moments." } |
|
Gaudi::Property< std::string > | m_configDir { this, "ConfigDir", "HIJetCorrection/", "Directory containing configuration file." } |
|
TH3F * | m_h3W |
|
TH3F * | m_h3Eta |
|
TH3F * | m_h3Phi |
|
Gaudi::Property< bool > | m_useSamplings { this, "UseSamplings", true, "Boolean for samplings use" } |
|
Gaudi::Property< float > | m_EminMoment { this, "MinimumEnergyForMoments", 50., "> E, cluster given tower coordinates" } |
|
Gaudi::Property< float > | m_EsigMoment { this, "MinimumSignificanceForMoments", 0.1, "if E after subtr / E total < this cut, cluster given tower coordinates" } |
|
Gaudi::Property< bool > | m_updateClusters { this, "UpdateClusters", false, "If true set cluster kinematics to reflect subtraction" } |
|
Gaudi::Property< bool > | m_useCells { this, "UseCells", true, "Boolean switch for cells usage" } |
|
const xAOD::HIEventShapeContainer * | m_shape |
|
const HIEventShapeIndex * | m_index |
|
const IHIUEModulatorTool * | m_modulator |
|
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 |
|
Concrete implementation of HIJetSubtractorToolBase. Class used by HIClusterSubtraction and HIJetConstituentSubtractionTool to provide kinematics of a cluster after subtraction given an event shape. This version of the tool does not use the cell information and thus should be faster than HIJetCellSubtractorTool.
- Author
- Aaron Angerami anger.nosp@m.ami@.nosp@m.cern..nosp@m.ch
- Date
- Jan, 2015
Definition at line 31 of file HIJetClusterSubtractorTool.h.
◆ StoreGateSvc_t
◆ HIJetClusterSubtractorTool()
HIJetClusterSubtractorTool::HIJetClusterSubtractorTool |
( |
const std::string & |
myname | ) |
|
Implements method defined in base First argument is reference to four vector that is updated to reflect the subtracted kinematics of the IParticle passed in the second arg Method expects cl_in to be a cluster.
Definition at line 17 of file HIJetClusterSubtractorTool.cxx.
◆ ASG_TOOL_CLASS()
◆ configureEvent()
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
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.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
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.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
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.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
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
◆ getIndex()
◆ getKey()
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
-
ptr | The 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.
121 #ifdef XAOD_STANDALONE
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ getModulator()
◆ 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
-
ptr | The 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.
108 #ifdef XAOD_STANDALONE
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getProperty()
template<class T >
const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ getShape()
◆ getWeight()
float HIJetClusterSubtractorTool::getWeight |
( |
float |
eta, |
|
|
float |
phi, |
|
|
int |
sample |
|
) |
| const |
|
private |
◆ getWeightEta()
float HIJetClusterSubtractorTool::getWeightEta |
( |
float |
eta, |
|
|
float |
phi, |
|
|
int |
sample |
|
) |
| const |
|
private |
◆ getWeightPhi()
float HIJetClusterSubtractorTool::getWeightPhi |
( |
float |
eta, |
|
|
float |
phi, |
|
|
int |
sample |
|
) |
| const |
|
private |
◆ initialize()
StatusCode HIJetClusterSubtractorTool::initialize |
( |
| ) |
|
|
overridevirtual |
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 217 of file HIJetClusterSubtractorTool.cxx.
◆ initializeTool()
StatusCode HIJetClusterSubtractorTool::initializeTool |
( |
| ) |
|
|
virtual |
Definition at line 171 of file HIJetClusterSubtractorTool.cxx.
178 TFile*
f=TFile::Open(full_path.c_str());
182 return StatusCode::FAILURE;
185 m_h3W=(TH3F*)
f->GetObjectChecked(
"h3_w",
"TH3F");
188 ATH_MSG_FATAL(
"Cannot find TH3F m_h3W in config file " << full_path );
189 return StatusCode::FAILURE;
192 m_h3Eta=(TH3F*)
f->GetObjectChecked(
"h3_eta",
"TH3F");
195 ATH_MSG_FATAL(
"Cannot find TH3F m_h3Eta in config file " << full_path );
196 return StatusCode::FAILURE;
199 m_h3Phi=(TH3F*)
f->GetObjectChecked(
"h3_phi",
"TH3F");
202 ATH_MSG_FATAL(
"Cannot find TH3F m_h3Phi in config file " << full_path );
203 return StatusCode::FAILURE;
205 m_h3W->SetDirectory(0);
212 return StatusCode::SUCCESS;
◆ inputHandles()
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.
◆ minEnergyForMoments()
float HIJetSubtractorToolBase::minEnergyForMoments |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ minEnergySigForMoments()
float HIJetSubtractorToolBase::minEnergySigForMoments |
( |
| ) |
const |
|
inlineinherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ 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.
◆ msgLvl()
◆ outputHandles()
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 |
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.
◆ renounce()
◆ renounceArray()
◆ setIndex()
◆ setMinEnergyForMoment()
void HIJetSubtractorToolBase::setMinEnergyForMoment |
( |
float |
min_E | ) |
|
|
inlineprotectedinherited |
◆ setModulator()
◆ setShape()
◆ setSubtractedEtaPhi()
void HIJetSubtractorToolBase::setSubtractedEtaPhi |
( |
float |
E, |
|
|
float & |
eta, |
|
|
float & |
phi, |
|
|
float |
eta0, |
|
|
float |
phi0, |
|
|
float |
sig |
|
) |
| const |
|
protectedinherited |
◆ setUpdateClusters()
void HIJetSubtractorToolBase::setUpdateClusters |
( |
bool |
up | ) |
|
|
inlineprotectedinherited |
◆ setUseCells()
void HIJetSubtractorToolBase::setUseCells |
( |
bool |
v | ) |
|
|
inlineprotectedinherited |
◆ subtract()
Abstract method where particle itself is not modified IParticle::FourMom_t containing kinematics after subtraction is passed by reference.
Implements IHISubtractorTool.
Definition at line 28 of file HIJetClusterSubtractorTool.cxx.
39 const float eta0=
cl->eta0();
40 const float phi0=
cl->phi0();
42 if(modulator)
mod=modulator->getModulation(
phi0, eshape);
49 if(HIEtaPhiWeightAcc.isAvailable(*
cl))
51 float DF_weight=HIEtaPhiWeightAcc(*
cl);
52 if(DF_weight!=0.)
mod/=DF_weight;
57 ATH_MSG_ERROR(
"No HIEventShape supplied, cannot do subtraction");
65 ATH_MSG_ERROR(
"No HIEventShapeIndex supplied, cannot do subtraction");
72 if(!
cl->hasSampling(
s))
continue;
87 eta=eta_unsubtr+(eta_unsubtr*E_subtr-E_eta_subtr)/
energy;
88 phi=phi_unsubtr+(phi_unsubtr*E_subtr-E_phi_subtr)/
energy;
96 float area=shape->at(es_bin)->
area();
106 << std::setw(8) << eta0
107 << std::setw(8) <<
phi0
108 << std::setw(10) << std::setprecision(3) << modulator->getModulation(
phi0, eshape)
109 << std::setw(10) << std::setprecision(3) <<
mod
110 << std::setw(10) << std::setprecision(3) << modulator->getModulation(
phi0, eshape)/
mod
111 << std::setw(10) << std::setprecision(3) <<
area
112 << std::setw(10) << std::setprecision(3) <<
rho*
area
113 << std::setw(10) << std::setprecision(3) << E_unsubtr*1
e-3
114 << std::setw(10) << std::setprecision(3) << E_subtr*1
e-3
115 << std::setw(10) << std::setprecision(3) << E_unsubtr*1
e-3/std::cosh(eta0)
116 << std::setw(10) << std::setprecision(3) << E_subtr*1
e-3/std::cosh(eta0));
◆ subtractWithMoments()
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ UpdateClusters()
bool HIJetSubtractorToolBase::UpdateClusters |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ updateSlice()
void HIJetClusterSubtractorTool::updateSlice |
( |
xAOD::HIEventShape * |
slice, |
|
|
float |
ET, |
|
|
float |
phi0, |
|
|
float |
area_cluster |
|
) |
| const |
|
private |
Definition at line 237 of file HIJetClusterSubtractorTool.cxx.
253 float area_slice=
slice->area();
256 if(area_slice!=0.) area_sf-=area_cluster/area_slice;
257 slice->setNCells( std::floor(area_sf*
slice->nCells()) );
259 slice->setArea(area_slice-area_cluster);
261 slice->setRho(
slice->rho() - ET/area_cluster);
264 for(
unsigned int ih=0; ih<
slice->etCos().
size(); ih++)
267 float tmp_cos =
slice->etCos().at(ih);
270 float tmp_sin =
slice->etSin().at(ih);
◆ updateUsingCluster()
Method to update the shape based on a given cluster two sets of indices are passed by reference and updated by the method sets are queried to see if the cluster has already been used, e.g.
by another jet seed checking/updating sets prevents double counting eta-bin set used to determine eta-averaged flow
Implements IHISubtractorTool.
Definition at line 126 of file HIJetClusterSubtractorTool.cxx.
129 float eta0=
cl->eta0();
137 if(!
cl->hasSampling(
s))
continue;
138 float esamp=
cl->eSample(
s);
139 float ET=esamp/std::cosh(eta0);
153 if(HIEtaPhiWeightAcc.isAvailable(*
cl))
155 float HI_weight=HIEtaPhiWeightAcc(*
cl);
◆ updateVHKA()
◆ usesCells()
bool HIJetSubtractorToolBase::usesCells |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ m_configDir
Gaudi::Property< std::string > HIJetClusterSubtractorTool::m_configDir { this, "ConfigDir", "HIJetCorrection/", "Directory containing configuration file." } |
|
private |
◆ m_detStore
◆ m_EminMoment
Gaudi::Property< float > HIJetSubtractorToolBase::m_EminMoment { this, "MinimumEnergyForMoments", 50., "> E, cluster given tower coordinates" } |
|
privateinherited |
◆ m_EsigMoment
Gaudi::Property< float > HIJetSubtractorToolBase::m_EsigMoment { this, "MinimumSignificanceForMoments", 0.1, "if E after subtr / E total < this cut, cluster given tower coordinates" } |
|
privateinherited |
◆ m_evtStore
◆ m_h3Eta
TH3F* HIJetClusterSubtractorTool::m_h3Eta |
|
private |
◆ m_h3Phi
TH3F* HIJetClusterSubtractorTool::m_h3Phi |
|
private |
◆ m_h3W
TH3F* HIJetClusterSubtractorTool::m_h3W |
|
private |
◆ m_index
◆ m_init
bool HIJetClusterSubtractorTool::m_init |
|
private |
◆ m_inputFile
Gaudi::Property< std::string > HIJetClusterSubtractorTool::m_inputFile { this, "InputFile", "cluster.geo.HIJING_2018.root", "File containing cluster geometric moments." } |
|
private |
◆ m_modulator
◆ m_shape
◆ m_updateClusters
Gaudi::Property< bool > HIJetSubtractorToolBase::m_updateClusters { this, "UpdateClusters", false, "If true set cluster kinematics to reflect subtraction" } |
|
privateinherited |
◆ m_useCells
Gaudi::Property< bool > HIJetSubtractorToolBase::m_useCells { this, "UseCells", true, "Boolean switch for cells usage" } |
|
privateinherited |
◆ m_useSamplings
Gaudi::Property< bool > HIJetClusterSubtractorTool::m_useSamplings { this, "UseSamplings", true, "Boolean for samplings use" } |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
float et() const
Transverse energy reconstructed on the slice.
Scalar phi() const
phi method
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
unsigned int findBinEta(float eta)
bool inTowerBoundary(float eta0, float phi0, float eta, float phi)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
float area() const
obtain the area of the eta slice
#define ATH_MSG_VERBOSE(x)
__HOSTDEV__ double Phi_mpi_pi(double)
virtual void setOwner(IDataHandleHolder *o)=0
constexpr float getBinArea()
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Interface class for the HI reconstruction EDM.
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Description of a calorimeter cluster.
constexpr xAOD::CaloCluster::State subtractedClusterState()
setRawEt setRawPhi nCells
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
constexpr xAOD::CaloCluster::State unsubtractedClusterState()
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
const T * at(size_type n) const
Access an element, as an rvalue.
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
void setClusterP4(const xAOD::CaloCluster::FourMom_t &p, xAOD::CaloCluster *cl, xAOD::CaloCluster::State s)