ATLAS Offline Software
Loading...
Searching...
No Matches
PFCellEOverPTool Class Reference

Class to store reference e/p mean and widths, as well as reference energy density radial profile fit parameters. More...

#include <PFCellEOverPTool.h>

Inheritance diagram for PFCellEOverPTool:
Collaboration diagram for PFCellEOverPTool:

Public Member Functions

 PFCellEOverPTool (const std::string &type, const std::string &name, const IInterface *parent)
 ~PFCellEOverPTool ()
StatusCode initialize ()
StatusCode fillBinnedParameters (eflowEEtaBinnedParameters *binnedParameters) const
StatusCode finalize ()
virtual StatusCode intialize ()
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

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Types

enum  E_BINS {
  ENERGY_BIN_START = 0 , E001bin = ENERGY_BIN_START , E003point5bin = 1 , E010bin = 2 ,
  E020bin = 3 , E032point5bin = 4 , E040bin = 5 , ENERGY_BIN_END = 6
}
enum  ETA_BINS {
  ETA_BIN_START = 0 , eta050bin = ETA_BIN_START , eta100bin = 1 , eta150bin = 2 ,
  eta250bin = 3 , eta350bin = 4 , eta450bin = 5 , ETA_BIN_END = 6
}
enum  SHAPE_PARAMS {
  SHAPE_START = 0 , NORM1 = SHAPE_START , WIDTH1 = 1 , NORM2 = 2 ,
  WIDTH2 = 3 , SHAPE_END = 4
}

Protected Member Functions

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.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

std::vector< double > m_energyBinLowerBoundaries
std::vector< double > m_etaBinLowerBoundaries
std::vector< int > m_firstIntBinLowerBoundaries
std::vector< int > m_caloLayerBins
Gaudi::Property< std::string > m_referenceFileLocation {this,"referenceFileLocation","","Location for e/p and cell ordering reference files"}
 Location for e/p and cell ordering reference files (set to null value so one cannot use a wrong reference silently)
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

Class to store reference e/p mean and widths, as well as reference energy density radial profile fit parameters.

The data is input to an eflowEEtaBinnedParameters object in the execute method. Stores data at the uncalibrated (EM) scale and is used by default. This inherits from IEFlowCellEOverPTool.

Definition at line 15 of file PFCellEOverPTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Member Enumeration Documentation

◆ E_BINS

enum IEFlowCellEOverPTool::E_BINS
protectedinherited
Enumerator
ENERGY_BIN_START 
E001bin 
E003point5bin 
E010bin 
E020bin 
E032point5bin 
E040bin 
ENERGY_BIN_END 

Definition at line 45 of file IEFlowCellEOverPTool.h.

◆ ETA_BINS

enum IEFlowCellEOverPTool::ETA_BINS
protectedinherited
Enumerator
ETA_BIN_START 
eta050bin 
eta100bin 
eta150bin 
eta250bin 
eta350bin 
eta450bin 
ETA_BIN_END 

Definition at line 47 of file IEFlowCellEOverPTool.h.

◆ SHAPE_PARAMS

enum IEFlowCellEOverPTool::SHAPE_PARAMS
protectedinherited
Enumerator
SHAPE_START 
NORM1 
WIDTH1 
NORM2 
WIDTH2 
SHAPE_END 

Definition at line 49 of file IEFlowCellEOverPTool.h.

Constructor & Destructor Documentation

◆ PFCellEOverPTool()

PFCellEOverPTool::PFCellEOverPTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 19 of file PFCellEOverPTool.cxx.

22 : IEFlowCellEOverPTool(type, name, parent)
23{
24
25 declareInterface<IEFlowCellEOverPTool>(this);
26
27}
IEFlowCellEOverPTool(const std::string &type, const std::string &name, const IInterface *parent)

◆ ~PFCellEOverPTool()

PFCellEOverPTool::~PFCellEOverPTool ( )
inline

Definition at line 21 of file PFCellEOverPTool.h.

21{};

Member Function Documentation

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

◆ 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

◆ fillBinnedParameters()

StatusCode PFCellEOverPTool::fillBinnedParameters ( eflowEEtaBinnedParameters * binnedParameters) const
virtual

Implements IEFlowCellEOverPTool.

Definition at line 109 of file PFCellEOverPTool.cxx.

109 {
110
111 if (binnedParameters) {
112
113 //The energy values in the json files are in GeV, but in athena we work in MeV
114 //so the energy values used by binnedParameters are converted to MeV
115 std::vector<double> energyBinLowerBoundaries_GeV;
116 for (auto energyBin : m_energyBinLowerBoundaries) energyBinLowerBoundaries_GeV.push_back(energyBin*Gaudi::Units::GeV);
117 binnedParameters->initialise(energyBinLowerBoundaries_GeV, m_etaBinLowerBoundaries);
118
119 std::string path;
121
122 std::ifstream inputFile_eoverp(path+"eOverP.json");
123 nlohmann::json json_eoverp;
124 inputFile_eoverp >> json_eoverp;
125
126 std::ifstream inputFile_cellOrdering(path+"cellOrdering.json");
127 nlohmann::json json_cellOrdering;
128 inputFile_cellOrdering >> json_cellOrdering;
129
130 //Loop over energy, eta and first int bins
131 //For each combination we set the e/p mean and width from the json file values
132 int energyBinCounter = -1;
133 for (auto thisEBin : m_energyBinLowerBoundaries){
134 energyBinCounter++;
135 std::stringstream currentEBinStream;
136 currentEBinStream << std::fixed << std::setprecision(0) << thisEBin;
137 std::string currentEBin = currentEBinStream.str();
138 int etaBinCounter = -1;
139 for (auto thisEtaBin : m_etaBinLowerBoundaries){
140 if (thisEtaBin == m_etaBinLowerBoundaries.back()) continue; //the last eta bin boundary is just used to define the upper edge of the final eta bin, so we don't need to fill parameters for it
141 etaBinCounter++;
142 std::stringstream currentEtaBinStream;
143 currentEtaBinStream << std::fixed << std::setprecision(1) << thisEtaBin;
144 std::string currentEtaBin = currentEtaBinStream.str();
145 for (auto thisFirstIntRegionBin_Int : m_firstIntBinLowerBoundaries){
146 //enum version is used for the calls to binnedParameters APIs
147 auto thisFirstIntRegionBin = static_cast<eflowFirstIntRegions::J1STLAYER>(thisFirstIntRegionBin_Int);
148 //and string version is used to lookup values from the json file
149 std::string currentFirstIntBin = std::to_string(thisFirstIntRegionBin_Int);
150 std::string eOverPBin = "energyBinLowerBound_"+currentEBin+"_etaBinLowerBound_"+currentEtaBin+"_firstIntBinLowerBound_"+currentFirstIntBin;
151 if (json_eoverp.contains(eOverPBin+"_mean")){
152 binnedParameters->setFudgeMean(energyBinCounter,etaBinCounter,thisFirstIntRegionBin,json_eoverp[eOverPBin+"_mean"]);
153 ATH_MSG_DEBUG("Setting mean for bin " << eOverPBin << " to " << json_eoverp[eOverPBin+"_mean"]);
154 }
155 //DEBUG because this is expected to happen for some combinations (e.g HEC calo layers for tracks in the barrel)
156 else ATH_MSG_DEBUG("No mean found for bin " << eOverPBin);
157 if (json_eoverp.contains(eOverPBin+"_sigma")){
158 binnedParameters->setFudgeStdDev(energyBinCounter,etaBinCounter,thisFirstIntRegionBin,json_eoverp[eOverPBin+"_sigma"]);
159 ATH_MSG_DEBUG("Setting sigma for bin " << eOverPBin << " to " << json_eoverp[eOverPBin+"_sigma"]);
160 }
161 else ATH_MSG_DEBUG("No sigma found for bin " << eOverPBin);
162 for (auto thisLayerBin : m_caloLayerBins){
163 eflowCalo::LAYER thisLayerBinEnum = static_cast<eflowCalo::LAYER>(thisLayerBin);
164 std::string currentLayerBin = eflowCalo::name(thisLayerBinEnum);
165 std::string cellOrderingBin = eOverPBin + "_caloLayer_"+std::to_string(thisLayerBin);
166 if (json_cellOrdering.contains(cellOrderingBin+"_norm1")){
167 binnedParameters->setShapeParam(energyBinCounter,etaBinCounter,thisFirstIntRegionBin,thisLayerBinEnum,NORM1,json_cellOrdering[cellOrderingBin+"_norm1"]);
168 ATH_MSG_DEBUG("Setting norm1 for bin " << cellOrderingBin << " to " << json_cellOrdering[cellOrderingBin+"_norm1"]);
169 }
170 else ATH_MSG_DEBUG("No norm1 found for bin " << cellOrderingBin);
171 if (json_cellOrdering.contains(cellOrderingBin+"_sigma1")){
172 binnedParameters->setShapeParam(energyBinCounter,etaBinCounter,thisFirstIntRegionBin,thisLayerBinEnum,WIDTH1,json_cellOrdering[cellOrderingBin+"_sigma1"]);
173 ATH_MSG_DEBUG("Setting sigma1 for bin " << cellOrderingBin << " to " << json_cellOrdering[cellOrderingBin+"_sigma1"]);
174 }
175 else ATH_MSG_DEBUG("No sigma1 found for bin " << cellOrderingBin);
176 if (json_cellOrdering.contains(cellOrderingBin+"_norm2")){
177 binnedParameters->setShapeParam(energyBinCounter,etaBinCounter,thisFirstIntRegionBin,thisLayerBinEnum,NORM2,json_cellOrdering[cellOrderingBin+"_norm2"]);
178 ATH_MSG_DEBUG("Setting norm2 for bin " << cellOrderingBin << " to " << json_cellOrdering[cellOrderingBin+"_norm2"]);
179 }
180 else ATH_MSG_DEBUG("No norm2 found for bin " << cellOrderingBin);
181 if (json_cellOrdering.contains(cellOrderingBin+"_sigma2")){
182 binnedParameters->setShapeParam(energyBinCounter,etaBinCounter,thisFirstIntRegionBin,thisLayerBinEnum,WIDTH2,json_cellOrdering[cellOrderingBin+"_sigma2"]);
183 ATH_MSG_DEBUG("Setting sigma2 for bin " << cellOrderingBin << " to " << json_cellOrdering[cellOrderingBin+"_sigma2"]);
184 }
185 else ATH_MSG_DEBUG("No sigma2 found for bin " << cellOrderingBin);
186 }
187 }
188 }
189 }
190 }
191
192 return StatusCode::SUCCESS;
193
194}
#define ATH_MSG_DEBUG(x)
std::string PathResolverFindCalibDirectory(const std::string &logical_file_name)
std::vector< int > m_firstIntBinLowerBoundaries
std::vector< double > m_etaBinLowerBoundaries
std::vector< int > m_caloLayerBins
std::vector< double > m_energyBinLowerBoundaries
Gaudi::Property< std::string > m_referenceFileLocation
Location for e/p and cell ordering reference files (set to null value so one cannot use a wrong refer...
static const std::string & name(LAYER layer)
void setFudgeStdDev(int energyBin, int etaBin, eflowFirstIntENUM j1st, double fudgeStdDev)
void setFudgeMean(int energyBin, int etaBin, eflowFirstIntENUM j1st, double fudgeMean)
void initialise(const std::vector< double > &eBinBounds, const std::vector< double > &etaBinBounds, bool useAbsEta=true)
void setShapeParam(int energyBin, int etaBin, eflowFirstIntENUM j1st, eflowCaloENUM layer, int paramNumber, double shapeParam)
path
python interpreter configuration --------------------------------------—
Definition athena.py:126

◆ finalize()

StatusCode PFCellEOverPTool::finalize ( )
virtual

Reimplemented from IEFlowCellEOverPTool.

Definition at line 196 of file PFCellEOverPTool.cxx.

196 {
197 return StatusCode::SUCCESS;
198}

◆ initialize()

StatusCode PFCellEOverPTool::initialize ( )

Definition at line 29 of file PFCellEOverPTool.cxx.

29 {
30
31 std::string path;
33
34 ATH_MSG_INFO("Using reference file location " + path);
35
36 std::ifstream binBoundariesFile(path+"binBoundaries.json");
37 nlohmann::json json_binBoundaries;
38 binBoundariesFile >> json_binBoundaries;
39
40 //whilst for calo layers and first interaction regions we want to lookup the full set of bin values
41 auto fillBinValues = [](auto && binBoundaries, const nlohmann::json &json_binBoundaries, const std::string &binName){
42 if (json_binBoundaries.contains(binName)){
43 for (auto binBoundary : json_binBoundaries[binName]) binBoundaries.push_back(binBoundary);
44 return true;
45 }
46 else return false;
47 };
48
49 bool filledBins = false;
50 std::string energyBinBoundaries = "energyBinBoundaries";
51 std::string etaBinBoundaries = "etaBinBoundaries";
52 std::string firstIntBinBoundaries = "firstIntBinBoundaries";
53 std::string caloLayerBinBoundaries = "caloLayerBinBoundaries";
54
55 //here we verify we can load in the bin boundaries - if not we return a FAILURE code
56 //because particle flow cannot run correctly without these being loaded
57 filledBins = fillBinValues(m_energyBinLowerBoundaries, json_binBoundaries, energyBinBoundaries);
58 if (!filledBins) {
59 ATH_MSG_ERROR("Could not bin boundaries in json file: " << energyBinBoundaries);
60 return StatusCode::FAILURE;
61 }
62
63 //The e/p (mean, sigma) parameters are binned in track energy, track eta, calorimeter LHED and are derived using:
64 //https://gitlab.cern.ch/atlas-jetetmiss/pflow/commontools/EOverPTools/-/blob/main/EoverpNtupleAnalysis/Run_EoverP_Comparison.py?ref_type=heads
65
66
67 //The cell ordering parameters (norm1, sigma1, norm2, sigma2) are binned in the same way, and also in calo layer and are derived using:
68 //https://gitlab.cern.ch/atlas-jetetmiss/pflow/commontools/EOverPTools/-/blob/main/EoverpNtupleAnalysis/CellOrdering_Cpp.cxx?ref_type=heads
69
70 //The energy bins have a special treatment - if e.g if the last pair if boundaries are 40 and 100 GeV we measure e/p between those values, but we
71 //want to allow any track with e > 40 GeV to find an e/p reference value. Thus we remove the last bin boundary for the energy bins.
72
74
75 //We have to be careful with the eta bins. In this tool we don't want to use the last boundary value, because in this tool
76 //each eta bin value corresponds to the lower bin boundary and clearly you cannot move beyond the edge of the ID/ITK acceptance,
77 //so there is nothing to look up for the final bin. However in eflowEEtaBinnedParameters the same array is used to check the range
78 //in which an eta value falls. Thus we keep the final eta bin boundary in the array, but we have to be careful when looping over eta
79 //bins to not try to look up values for the final bin boundary value.
80
81 filledBins = fillBinValues(m_etaBinLowerBoundaries, json_binBoundaries, etaBinBoundaries);
82 if (!filledBins) {
83 ATH_MSG_ERROR("Could not bin boundaries in json file: " << etaBinBoundaries);
84 return StatusCode::FAILURE;
85 }
86
87 //The final two arrays correspond to specific calorimeter layes to look up parameters for, so this is like a key to look up
88 //rather than comparing a value to bin boundaries as is done for track energy and track eta.
89
90 filledBins = fillBinValues(m_firstIntBinLowerBoundaries, json_binBoundaries, firstIntBinBoundaries);
91 if (!filledBins) {
92 ATH_MSG_ERROR("Could not bin boundaries in json file: " << firstIntBinBoundaries);
93 return StatusCode::FAILURE;
94 }
95 filledBins = fillBinValues(m_caloLayerBins, json_binBoundaries, caloLayerBinBoundaries);
96 if (!filledBins) {
97 ATH_MSG_ERROR("Could not bin boundaries in json file: " << caloLayerBinBoundaries);
98 return StatusCode::FAILURE;
99 }
100
101 ATH_MSG_DEBUG("Energy bin boundaries: " << m_energyBinLowerBoundaries);
102 ATH_MSG_DEBUG("Eta bin boundaries: " << m_etaBinLowerBoundaries);
103 ATH_MSG_DEBUG("First interaction region bin boundaries: " << m_firstIntBinLowerBoundaries);
104 ATH_MSG_DEBUG("Calo layer bin boundaries: " << m_caloLayerBins);
105
106 return StatusCode::SUCCESS;
107}
#define ATH_MSG_ERROR(x)
#define ATH_MSG_INFO(x)
filledBins(h)
Definition histSizes.py:11

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

◆ interfaceID()

const InterfaceID & IEFlowCellEOverPTool::interfaceID ( )
inlinestaticinherited

Definition at line 53 of file IEFlowCellEOverPTool.h.

54{
56}
static const InterfaceID IID_IEFlowCellEOverPTool("IEFlowCellEOverPTool", 1, 0)
Must declare this, with name of interface.

◆ intialize()

virtual StatusCode IEFlowCellEOverPTool::intialize ( )
inlinevirtualinherited

Definition at line 40 of file IEFlowCellEOverPTool.h.

40{return StatusCode::SUCCESS;};

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

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

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

std::vector<int> PFCellEOverPTool::m_caloLayerBins
private

Definition at line 32 of file PFCellEOverPTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_energyBinLowerBoundaries

std::vector<double> PFCellEOverPTool::m_energyBinLowerBoundaries
private

Definition at line 29 of file PFCellEOverPTool.h.

◆ m_etaBinLowerBoundaries

std::vector<double> PFCellEOverPTool::m_etaBinLowerBoundaries
private

Definition at line 30 of file PFCellEOverPTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_firstIntBinLowerBoundaries

std::vector<int> PFCellEOverPTool::m_firstIntBinLowerBoundaries
private

Definition at line 31 of file PFCellEOverPTool.h.

◆ m_referenceFileLocation

Gaudi::Property<std::string> PFCellEOverPTool::m_referenceFileLocation {this,"referenceFileLocation","","Location for e/p and cell ordering reference files"}
private

Location for e/p and cell ordering reference files (set to null value so one cannot use a wrong reference silently)

Definition at line 35 of file PFCellEOverPTool.h.

35{this,"referenceFileLocation","","Location for e/p and cell ordering reference files"};

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


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