 |
ATLAS Offline Software
|
#include <JetCaloEnergies.h>
|
| JetCaloEnergies (const std::string &t) |
|
virtual StatusCode | initialize () override |
| Dummy implementation of the initialisation function. More...
|
|
virtual StatusCode | decorate (const xAOD::JetContainer &jets) const override |
| Decorate a jet collection without otherwise modifying it. 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, V, H > &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 |
|
virtual StatusCode | modify (xAOD::JetContainer &jets) const override final |
| Concrete implementation of the function inherited from IJetModifier. More...
|
|
|
float | getMoment (const xAOD::CaloCluster *cluster, const xAOD::CaloCluster::MomentType &momentType) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
Gaudi::Property< std::vector< std::string > > | m_calculationNames {this, "Calculations", {}, "Name of calo quantities to compute and add as decorations"} |
|
Gaudi::Property< std::string > | m_jetContainerName {this, "JetContainer", "", "SG key for the input jet container"} |
|
Gaudi::Property< bool > | m_calcClusterBasedVars {this, "calcClusterBasedVars", false, "SG key to decide if cluster-based variables will be calculated for FE-based jets"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_ePerSamplingKey {this, "EPerSamplingName", "EnergyPerSampling", "SG key for the EnergyPerSampling attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_emFracKey {this, "EMFracName", "EMFrac", "SG key for the EMFrac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_hecFracKey {this, "HECFracName", "HECFrac", "SG key for the HECFrac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_psFracKey {this, "PSFracName", "PSFrac", "SG key for the PSFrac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_em3FracKey {this, "EM3FracName", "EM3Frac", "SG key for the EM3Frac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_tile0FracKey {this, "Tile0FracName", "Tile0Frac", "SG key for the Tile0Frac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_effNClustsFracKey {this, "EffNClustsName", "EffNClusts", "SG key for the EffNClusts attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_fracSamplingMaxKey {this, "FracSamplingMaxName", "FracSamplingMax", "SG key for the FracSamplingMax attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_fracSamplingMaxIndexKey {this, "FracSamplingMaxIndexName", "FracSamplingMaxIndex", "SG key for the FracSamplingMaxIndex attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_ePerSamplingClusterKey {this, "EPerSamplingClusterName", "EnergyPerSamplingCaloBased", "SG key for the EnergyPerSampling attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_emFracClusterKey {this, "EMFracClusterName", "EMFracCaloBased", "SG key for the EMFrac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_hecFracClusterKey {this, "HECFracClusterName", "HECFracCaloBased", "SG key for the HECFrac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_psFracClusterKey {this, "PSFracClusterName", "PSFracCaloBased", "SG key for the PSFrac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_em3FracClusterKey {this, "EM3FracClusterName", "EM3FracCaloBased", "SG key for the EM3Frac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_tile0FracClusterKey {this, "Tile0FracClusterName", "Tile0FracCaloBased", "SG key for the Tile0Frac attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_effNClustsFracClusterKey {this, "EffNClustsClusterName", "EffNClustsCaloBased", "SG key for the EffNClusts attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_fracSamplingMaxClusterKey {this, "FracSamplingMaxClusterName", "FracSamplingMaxCaloBased", "SG key for the FracSamplingMax (clus) attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_fracSamplingMaxIndexClusterKey {this, "FracSamplingMaxIndexClusterName", "FracSamplingMaxIndexCaloBased", "SG key for FracSamplingMaxIndex (clus) attribute"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_lambdaLeadingClusterKey {this, "LambdaLeadingClusterName", "LambdaLeadingCluster", "SG key for the longitudinal distance between the leading (highest energy) cluster and the jet’s geometrical center"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_meanRadialDistanceSquaredKey {this, "MeanRadialDistanceSquaredName", "MeanRadialDistanceSquared", "SG key for the weighted mean of the squared radial distances of the clusters from jet’s geometrical center"} |
|
SG::WriteDecorHandleKey< xAOD::JetContainer > | m_meanLongitudinalDistanceSquaredKey {this, "MeanLongitudinalDistanceSquaredName", "MeanLongitudinalDistanceSquared", "SG key for the weighted mean of the squared Longitudinal distances of the clusters from jet’s geometrical center"} |
|
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 |
|
Definition at line 18 of file JetCaloEnergies.h.
◆ StoreGateSvc_t
◆ JetCaloEnergies()
JetCaloEnergies::JetCaloEnergies |
( |
const std::string & |
t | ) |
|
◆ 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]
◆ decorate()
Decorate a jet collection without otherwise modifying it.
Implements IJetDecorator.
Definition at line 108 of file JetCaloEnergies.cxx.
112 size_t numConstit =
jet->numConstituents();
114 std::vector<float>& ePerSampling = ePerSamplingHandle(*
jet);
115 for (
float&
e : ePerSampling )
e = 0.0;
117 if ( numConstit == 0 ) {
139 ATH_MSG_VERBOSE(
" Constituents are FlowElements - Additional calculation");
143 std::vector<float>& ePerSamplingCluster = ePerSamplingClusterHandle(*
jet);
144 for (
float&
e : ePerSamplingCluster )
e = 0.0;
150 ATH_MSG_VERBOSE(
"Constituents are not CaloClusters, PFOs, or FlowElements.");
154 return StatusCode::SUCCESS;
◆ 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
◆ fillEperSamplingCluster()
void JetCaloEnergies::fillEperSamplingCluster |
( |
const xAOD::Jet & |
jet, |
|
|
std::vector< float > & |
ePerSampling |
|
) |
| const |
|
protected |
Definition at line 157 of file JetCaloEnergies.cxx.
159 size_t numConstit =
jet.numConstituents();
160 for (
size_t i=0;
i<numConstit;
i++ ) {
162 ATH_MSG_WARNING(
"Tried to call fillEperSamplingCluster with a jet constituent that is not a cluster!");
171 double fracSamplingMax = -999999999.;
172 int fracSamplingMaxIndex = -1;
173 double sumE_samplings = 0.0;
176 for(
unsigned int i = 0;
i < ePerSampling.size(); ++
i){
177 double e = ePerSampling[
i];
179 if (
e>fracSamplingMax){
181 fracSamplingMaxIndex =
i;
196 fracSamplingMaxHandle(
jet) = sumE_samplings != 0. ? fracSamplingMax/sumE_samplings : 0.;
198 fracSamplingMaxIndexHandle(
jet) = fracSamplingMaxIndex;
◆ fillEperSamplingFE()
void JetCaloEnergies::fillEperSamplingFE |
( |
const xAOD::Jet & |
jet, |
|
|
std::vector< float > & |
ePerSampling |
|
) |
| const |
|
protected |
Definition at line 293 of file JetCaloEnergies.cxx.
301 size_t numConstit =
jet.numConstituents();
303 std::vector<int> indicesNeutralFE;
304 std::vector<int> indicesChargedFE;
306 for (
size_t i=0;
i<numConstit;
i++ ) {
308 ATH_MSG_WARNING(
"Tried to call fillEperSamplingFE with a jet constituent that is not a FlowElement!");
327 eTot += constit->
e();
328 e2Tot += constit->
e()*constit->
e();
332 ePerSampling[
s] += constitEPerSampling[
s];
370 e2Tot += nFE->
e()*nFE->
e();
374 ePerSampling[
s] += neutralEPerSampling[
s];
400 if(
std::find(indicesChargedFE.begin(), indicesChargedFE.end(), FE_from_combined->
index()) == indicesChargedFE.end()){
401 eTot += FE_from_combined->
e();
402 e2Tot += FE_from_combined->
e()*FE_from_combined->
e();
403 indicesChargedFE.push_back(FE_from_combined->
index());
410 if(
std::find(indicesNeutralFE.begin(), indicesNeutralFE.end(), FE_from_combined->
index()) == indicesNeutralFE.end()){
411 eTot += FE_from_combined->
e();
412 e2Tot += FE_from_combined->
e()*FE_from_combined->
e();
415 ePerSampling[
s] += neutralFromCombEPerSampling[
s];
432 indicesNeutralFE.push_back(FE_from_combined->
index());
439 double fracSamplingMax = -999999999.;
440 int fracSamplingMaxIndex = -1;
441 double sumE_samplings = 0.0;
444 for(
unsigned int i = 0;
i < ePerSampling.size(); ++
i){
445 double e = ePerSampling[
i];
447 if (
e>fracSamplingMax){
449 fracSamplingMaxIndex =
i;
455 if ( calcN ==
"EMFrac" ) {
458 }
else if ( calcN ==
"HECFrac" ) {
460 hecFracHandle(
jet) =
eTot != 0. ? hecTot/
eTot : 0.;
461 }
else if ( calcN ==
"PSFrac" ) {
464 }
else if ( calcN ==
"EM3Frac" ) {
466 em3FracHandle(
jet) =
eTot != 0. ? em3Tot/
eTot : 0.;
467 }
else if ( calcN ==
"Tile0Frac" ) {
469 tile0FracHandle(
jet) =
eTot != 0. ? tile0Tot/
eTot : 0.;
470 }
else if ( calcN ==
"EffNClusts" ) {
472 effNClustsFracHandle(
jet) =
eTot != 0. ? std::sqrt(
eTot*
eTot/e2Tot) : 0.;
473 }
else if ( calcN ==
"FracSamplingMax" ){
475 fracSamplingMaxHandle(
jet) = sumE_samplings != 0. ? fracSamplingMax/sumE_samplings : 0.;
477 fracSamplingMaxIndexHandle(
jet) = fracSamplingMaxIndex;
◆ fillEperSamplingFEClusterBased()
void JetCaloEnergies::fillEperSamplingFEClusterBased |
( |
const xAOD::Jet & |
jet, |
|
|
std::vector< float > & |
ePerSampling |
|
) |
| const |
|
protected |
Definition at line 485 of file JetCaloEnergies.cxx.
493 float sumRadialDistanceSquared = 0;
494 float sumLongitudinalDistanceSquared = 0;
495 size_t numConstit =
jet.numConstituents();
496 std::unique_ptr<std::vector<const xAOD::CaloCluster*> > constitV_tot = std::make_unique<std::vector<const xAOD::CaloCluster*>>();
499 for (
size_t i=0;
i<numConstit;
i++ ) {
501 ATH_MSG_WARNING(
"Tried to call fillEperSamplingFE with a jet constituent that is not a FlowElement!");
509 if(index_pfo<0)
continue;
525 if(!cluster)
continue;
527 if (!leadingCluster || (cluster->
rawE() > leadingCluster->rawE())){
528 leadingCluster = cluster;
532 if(
std::find(constitV_tot->begin(), constitV_tot->end(), cluster) == constitV_tot->end()){
537 e2Tot += cluster->
rawE()*cluster->
rawE();
557 constitV_tot->push_back(cluster);
562 float fracSamplingMax = -999999999.;
563 int fracSamplingMaxIndex = -1;
564 float sumE_samplings = 0.0;
567 for(
unsigned int i = 0;
i < ePerSampling.size(); ++
i){
568 float e = ePerSampling[
i];
570 if (
e>fracSamplingMax){
572 fracSamplingMaxIndex =
i;
578 if ( calcN ==
"EMFrac" ) {
580 emFracClusterHandle(
jet) =
eTot != 0. ? emTot/
eTot : 0.;
581 }
else if ( calcN ==
"HECFrac" ) {
583 hecFracClusterHandle(
jet) =
eTot != 0. ? hecTot/
eTot : 0.;
584 }
else if ( calcN ==
"PSFrac" ) {
586 psFracClusterHandle(
jet) =
eTot != 0. ? psTot/
eTot : 0.;
587 }
else if ( calcN ==
"EM3Frac" ) {
589 em3FracClusterHandle(
jet) =
eTot != 0. ? em3Tot/
eTot : 0.;
590 }
else if ( calcN ==
"Tile0Frac" ) {
592 tile0FracClusterHandle(
jet) =
eTot != 0. ? tile0Tot/
eTot : 0.;
593 }
else if ( calcN ==
"EffNClusts" ) {
595 effNClustsFracClusterHandle(
jet) =
eTot != 0. ? std::sqrt(
eTot*
eTot/e2Tot) : 0.;
596 }
else if ( calcN ==
"FracSamplingMax" ){
598 fracSamplingMaxClusterHandle(
jet) = sumE_samplings != 0. ? fracSamplingMax/sumE_samplings : 0.;
600 fracSamplingMaxIndexClusterHandle(
jet) = fracSamplingMaxIndex;
608 meanRadialDistanceSquaredHandle(
jet) =
eTot != 0. ? sumRadialDistanceSquared/
eTot : 0.;
611 meanLongitudinalDistanceSquaredHandle(
jet) =
eTot != 0. ? sumLongitudinalDistanceSquared/
eTot : 0.;
◆ fillEperSamplingPFO()
void JetCaloEnergies::fillEperSamplingPFO |
( |
const xAOD::Jet & |
jet, |
|
|
std::vector< float > & |
ePerSampling |
|
) |
| const |
|
protected |
Definition at line 208 of file JetCaloEnergies.cxx.
213 size_t numConstit =
jet.numConstituents();
215 for (
size_t i=0;
i<numConstit;
i++ ) {
218 if ( fabs(constit->
charge())>FLT_MIN ){
221 eTot += constit->
e();
258 emTot += ( E_PreSamplerB+E_EMB1+E_EMB2+E_EMB3+
259 E_PreSamplerE+E_EME1+E_EME2+E_EME3+
261 hecTot += ( E_HEC0+E_HEC1+E_HEC2+E_HEC3 );
265 ATH_MSG_WARNING(
"Tried to call fillEperSamplingPFlow with a jet constituent that is not a PFO!");
271 emFracHandle(
jet) = emTot/
eTot;
278 emFracHandle(
jet) = 0.;
283 hecFracHandle(
jet) = hecTot/
eTot;
286 hecFracHandle(
jet) = 0.;
◆ 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
◆ getMoment()
◆ 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.
◆ initialize()
StatusCode JetCaloEnergies::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 42 of file JetCaloEnergies.cxx.
46 ATH_MSG_ERROR(
"JetCaloEnergies needs to have its input jet container configured!");
47 return StatusCode::FAILURE;
103 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.
◆ isInVector()
bool JetCaloEnergies::isInVector |
( |
const std::string & |
key, |
|
|
const std::vector< std::string > & |
calculations |
|
) |
| |
|
protected |
Definition at line 27 of file JetCaloEnergies.cxx.
29 std::vector<std::string>
split;
30 std::string sub_string;
31 std::istringstream tokenStream(
key);
33 while (std::getline(tokenStream, sub_string,
'.'))
35 split.push_back(sub_string);
39 return std::find(calculations.begin(), calculations.end(),
split[1]) != calculations.end();
◆ modify()
|
inlinefinaloverridevirtualinherited |
◆ 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, LundVariablesTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ renounce()
◆ renounceArray()
◆ 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.
◆ updateVHKA()
◆ m_calcClusterBasedVars
Gaudi::Property<bool> JetCaloEnergies::m_calcClusterBasedVars {this, "calcClusterBasedVars", false, "SG key to decide if cluster-based variables will be calculated for FE-based jets"} |
|
private |
◆ m_calculationNames
Gaudi::Property<std::vector<std::string> > JetCaloEnergies::m_calculationNames {this, "Calculations", {}, "Name of calo quantities to compute and add as decorations"} |
|
private |
◆ m_detStore
◆ m_doFracSamplingMax
bool JetCaloEnergies::m_doFracSamplingMax = false |
|
protected |
◆ m_effNClustsFracClusterKey
◆ m_effNClustsFracKey
◆ m_em3FracClusterKey
◆ m_em3FracKey
◆ m_emFracClusterKey
◆ m_emFracKey
◆ m_ePerSamplingClusterKey
◆ m_ePerSamplingKey
◆ m_evtStore
◆ m_fracSamplingMaxClusterKey
◆ m_fracSamplingMaxIndexClusterKey
SG::WriteDecorHandleKey<xAOD::JetContainer> JetCaloEnergies::m_fracSamplingMaxIndexClusterKey {this, "FracSamplingMaxIndexClusterName", "FracSamplingMaxIndexCaloBased", "SG key for FracSamplingMaxIndex (clus) attribute"} |
|
private |
◆ m_fracSamplingMaxIndexKey
◆ m_fracSamplingMaxKey
◆ m_hecFracClusterKey
◆ m_hecFracKey
◆ m_jetContainerName
Gaudi::Property<std::string> JetCaloEnergies::m_jetContainerName {this, "JetContainer", "", "SG key for the input jet container"} |
|
private |
◆ m_lambdaLeadingClusterKey
SG::WriteDecorHandleKey<xAOD::JetContainer> JetCaloEnergies::m_lambdaLeadingClusterKey {this, "LambdaLeadingClusterName", "LambdaLeadingCluster", "SG key for the longitudinal distance between the leading (highest energy) cluster and the jet’s geometrical center"} |
|
private |
◆ m_meanLongitudinalDistanceSquaredKey
SG::WriteDecorHandleKey<xAOD::JetContainer> JetCaloEnergies::m_meanLongitudinalDistanceSquaredKey {this, "MeanLongitudinalDistanceSquaredName", "MeanLongitudinalDistanceSquared", "SG key for the weighted mean of the squared Longitudinal distances of the clusters from jet’s geometrical center"} |
|
private |
◆ m_meanRadialDistanceSquaredKey
SG::WriteDecorHandleKey<xAOD::JetContainer> JetCaloEnergies::m_meanRadialDistanceSquaredKey {this, "MeanRadialDistanceSquaredName", "MeanRadialDistanceSquared", "SG key for the weighted mean of the squared radial distances of the clusters from jet’s geometrical center"} |
|
private |
◆ m_psFracClusterKey
◆ m_psFracKey
◆ m_tile0FracClusterKey
◆ m_tile0FracKey
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
@ SECOND_R
Second Moment in .
SG::WriteDecorHandleKey< xAOD::JetContainer > m_fracSamplingMaxClusterKey
bool isInVector(const std::string &key, const std::vector< std::string > &calculations)
SG::WriteDecorHandleKey< xAOD::JetContainer > m_effNClustsFracKey
Gaudi::Property< std::string > m_jetContainerName
void fillEperSamplingPFO(const xAOD::Jet &jet, std::vector< float > &ePerSampling) const
std::string find(const std::string &s)
return a remapped string
const TrackParticle * track(unsigned int index) const
Retrieve a const pointer to a Rec::TrackParticle.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_em3FracClusterKey
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
SG::WriteDecorHandleKey< xAOD::JetContainer > m_fracSamplingMaxIndexKey
std::vector< SG::VarHandleKeyArray * > m_vhka
virtual Type::ObjectType type() const =0
The type of the object as a simple enumeration.
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
void fillEperSamplingFE(const xAOD::Jet &jet, std::vector< float > &ePerSampling) const
float eTot(const U &p)
Accessor utility function for getting the value of Energy.
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
std::vector< float > getEnergiesPerSampling(const xAOD::FlowElement &fe)
SG::WriteDecorHandleKey< xAOD::JetContainer > m_tile0FracKey
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ePerSamplingKey
virtual void setOwner(IDataHandleHolder *o)=0
@ SECOND_LAMBDA
Second Moment in .
SG::WriteDecorHandleKey< xAOD::JetContainer > m_psFracClusterKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ePerSamplingClusterKey
virtual double e() const
The total energy of the particle.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_hecFracClusterKey
Description of a calorimeter cluster.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
FlowElement_v1 FlowElement
Definition of the current "pfo version".
SG::WriteDecorHandleKey< xAOD::JetContainer > m_fracSamplingMaxKey
Handle class for adding a decoration to an object.
float charge() const
get charge of PFO
signal_t signalType() const
SG::WriteDecorHandleKey< xAOD::JetContainer > m_meanLongitudinalDistanceSquaredKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_fracSamplingMaxIndexClusterKey
@ ParticleFlow
The object is a particle-flow object.
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
size_t index() const
Return the index of this element within its container.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_tile0FracClusterKey
#define FillESamplingPFO(LAYERNAME)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
const xAOD::IParticle * chargedObject(std::size_t i) const
SG::WriteDecorHandleKey< xAOD::JetContainer > m_meanRadialDistanceSquaredKey
Class describing a particle flow object.
virtual double e() const override
The total energy of the particle.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_effNClustsFracClusterKey
virtual double e() const override final
The total energy of the particle.
Gaudi::Property< std::vector< std::string > > m_calculationNames
SG::WriteDecorHandleKey< xAOD::JetContainer > m_emFracKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_emFracClusterKey
Gaudi::Property< bool > m_calcClusterBasedVars
static double hecF(const Jet *jet)
float eSample(const CaloSample sampling) const
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
virtual StatusCode decorate(const xAOD::JetContainer &jets) const =0
Decorate a jet collection without otherwise modifying it.
#define ATH_MSG_WARNING(x)
const xAOD::IParticle * otherObject(std::size_t i) const
float getMoment(const xAOD::CaloCluster *cluster, const xAOD::CaloCluster::MomentType &momentType) const
SG::WriteDecorHandleKey< xAOD::JetContainer > m_em3FracKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_lambdaLeadingClusterKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_psFracKey
static double emFraction(const std::vector< float > &ePerSampling)
void fillEperSamplingFEClusterBased(const xAOD::Jet &jet, std::vector< float > &ePerSampling) const
SG::WriteDecorHandleKey< xAOD::JetContainer > m_hecFracKey
void fillEperSamplingCluster(const xAOD::Jet &jet, std::vector< float > &ePerSampling) const
static double presamplerFraction(const Jet *jet)
virtual double e() const =0
The total energy of the particle.
std::vector< const xAOD::IParticle * > otherObjects() const
A detector object made of other lower level object(s)