ATLAS Offline Software
|
Top algorithm to generate OutOfCluster histograms for Local Hadron Calibration. More...
#include <GetLCOutOfCluster.h>
Public Member Functions | |
GetLCOutOfCluster (const std::string &name, ISvcLocator *pSvcLocator) | |
virtual | ~GetLCOutOfCluster () |
virtual StatusCode | initialize () |
virtual StatusCode | execute () |
virtual StatusCode | finalize () |
virtual StatusCode | sysInitialize () override |
Override sysInitialize. More... | |
virtual const DataObjIDColl & | extraOutputDeps () const override |
Return the list of extra output dependencies. 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 | 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 | |
void | mapinsert (const std::vector< Gaudi::Histo1DDef > &dims) |
void | mapparse () |
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::vector< Gaudi::Histo1DDef > | m_dimensions |
definition of all dimensions used for out-of-cluster corrections More... | |
std::map< std::string, Gaudi::Histo1DDef > | m_dimensionsmap |
property to set all dimensions introduced above More... | |
std::vector< int > | m_isampmap |
Vector of indices in m_dimensions. More... | |
std::vector< TProfile2D * > | m_ooc |
Vector of actual histograms. More... | |
std::string | m_outputFileName |
Name of the output file to save histograms in. More... | |
std::unique_ptr< TFile > | m_outputFile |
Output file to save histograms in. More... | |
SG::ReadHandleKey< xAOD::CaloClusterContainer > | m_clusterCollName |
Name of the CaloClusterContainer to use. More... | |
std::vector< std::string > | m_invalidSamplingNames |
vector of names of the calorimeter samplings not to use when applying the out-of-cluster weights. More... | |
std::set< int > | m_invalidSamplings |
actual set of samplings to be ignored for out-of-cluster weights More... | |
std::string | m_NormalizationType |
string to choose different normalization types More... | |
int | m_NormalizationTypeNumber |
std::string | m_ClassificationType |
string to choose different classification types More... | |
int | m_ClassificationTypeNumber |
DataObjIDColl | m_extendedExtraObjects |
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 |
Top algorithm to generate OutOfCluster histograms for Local Hadron Calibration.
Definition at line 31 of file GetLCOutOfCluster.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
GetLCOutOfCluster::GetLCOutOfCluster | ( | const std::string & | name, |
ISvcLocator * | pSvcLocator | ||
) |
Definition at line 41 of file GetLCOutOfCluster.cxx.
|
virtual |
Definition at line 91 of file GetLCOutOfCluster.cxx.
|
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.
|
virtual |
Definition at line 276 of file GetLCOutOfCluster.cxx.
|
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
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
|
virtual |
Definition at line 262 of file GetLCOutOfCluster.cxx.
|
virtual |
Definition at line 96 of file GetLCOutOfCluster.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 |
Definition at line 410 of file GetLCOutOfCluster.cxx.
|
private |
Definition at line 416 of file GetLCOutOfCluster.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
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.
|
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 |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.
Definition at line 66 of file AthAlgorithm.cxx.
|
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 |
string to choose different classification types
Available options are "None": the input MC is expected to be just a single pion MC with one sort of particles; "ParticleID_EM" Gena's ParticleID classification (EM type objects) for the use of QCD MC; "ParticleID_HAD" Gena's ParticleID classification (HAD type objects) for the use of QCD MC;
Definition at line 154 of file GetLCOutOfCluster.h.
|
private |
Definition at line 156 of file GetLCOutOfCluster.h.
|
private |
Name of the CaloClusterContainer to use.
Definition at line 113 of file GetLCOutOfCluster.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
definition of all dimensions used for out-of-cluster corrections
The currently defined dimensions are:
side: negative values for eta < 0 and positive for eta > 0; 1 bin from -1.5 to 1.5 for no side dependency
|eta|: the absolute value of eta; normally in ATLAS the bounds are within [0,5], smaller ones are useful for test beam setups.
phi: the phi range; 1 bin from -pi to pi for no phi dependency
log10(E_clus^EMnoPSnoGap3): the log10 of the cluster energy on EM scale without pre-samplers and gap scintillators; typical range should be within the generated energy range of single pions with about 50% room to the maximum created energy - i.e. use log10(1 TeV) as max value if you generated up tp 2 TeV pions
log10(lambda_clus): the log10 of the cluster depth in the calorimeter; typical ranges are from 0 to 4
weight: the ratio E_outOfCluster/E_clus^EMnoPSnoGap3/Isolation; the bounds define the level of truncation for the weights to suppress noise and bad sampling ratios. Typical bounds are 0. to 5.
Definition at line 76 of file GetLCOutOfCluster.h.
|
private |
property to set all dimensions introduced above
Gaudi has only a map<string,Histo1DDef> to use as property. So the syntax for all dimensions introduced above is {'Title': ('Title',Low,High,Bins), ... }.
Definition at line 84 of file GetLCOutOfCluster.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 79 of file AthAlgorithm.h.
|
private |
vector of names of the calorimeter samplings not to use when applying the out-of-cluster weights.
The pre-sampler layers (barrel and endcap) and the gap-scintillators should not receive out-of-cluster weights as they mainly deal with dead-material corrections.
Definition at line 122 of file GetLCOutOfCluster.h.
|
private |
actual set of samplings to be ignored for out-of-cluster weights
This set is created according to the names given in the property m_invalidSamplingNames.
Definition at line 129 of file GetLCOutOfCluster.h.
|
private |
Vector of indices in m_dimensions.
Internal list of indices in m_dimensions object.
Definition at line 90 of file GetLCOutOfCluster.h.
|
private |
string to choose different normalization types
Available options are "Const": every cluster counts with weight 1; "Lin": Each cluster is weighted with E_calib_clus/E_calib_tot; "Log": Each cluster is weighted with log10(E_calib_clus/E_calib_tot)+2; "NClus": Each cluster is weighted with 1/TotalNumberOfClustersWithE_calib>0.
Definition at line 141 of file GetLCOutOfCluster.h.
|
private |
Definition at line 143 of file GetLCOutOfCluster.h.
|
private |
Vector of actual histograms.
Internal list of histograms to fill and save.
Definition at line 96 of file GetLCOutOfCluster.h.
|
private |
Output file to save histograms in.
Internal variable pointing to the output file.
Definition at line 109 of file GetLCOutOfCluster.h.
|
private |
Name of the output file to save histograms in.
Use this property to set the name of the output file containing the OutOfCluster histograms.
Definition at line 103 of file GetLCOutOfCluster.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.