![]() |
ATLAS Offline Software
|
dead material correction tool for local hadronic calibration More...
#include <CaloLCDeadMaterialTool.h>
Classes | |
| struct | Area |
| struct | Cell |
Public Types | |
| enum | dm_area_keys { sDM_EMB0_EMB1 , sDM_EMB3_TILE0 , sDM_SCN , sDM_EME0_EME12 , sDM_EME3_HEC0 , sDM_FCAL , sDM_LEAKAGE , sDM_UNCLASS , sDM } |
| Dead Material area number. More... | |
Public Member Functions | |
| virtual | ~CaloLCDeadMaterialTool () override |
| virtual StatusCode | weight (xAOD::CaloCluster *theCluster, const EventContext &ctx) const override |
| virtual StatusCode | initialize () override |
Private Member Functions | |
| StatusCode | prepare_for_cluster (const xAOD::CaloCluster *theCluster, std::vector< Area > &areas, std::vector< Cell > &cells, float *smp_energy, float &cls_unweighted_energy, const CaloLocalHadCoeff *data) const |
Private Attributes | |
| SG::ReadCondHandleKey< CaloLocalHadCoeff > | m_key {this, "HadDMCoeffKey", "HadDMCoeff2"} |
| name of the key for DM cell weights | |
| Gaudi::Property< int > | m_recoStatus {this, "ClusterRecoStatus", CaloRecoStatus::UNKNOWNSTATUS} |
| Required Reco Status for the clusters in order to be calibrated. | |
| Gaudi::Property< int > | m_weightModeDM {this, "WeightModeDM", 1} |
| method of assignment of DM energy to cluster | |
| Gaudi::Property< float > | m_MinClusterEnergyToDeal {this, "MinClusterEnergyToDeal", 200.0*CLHEP::MeV} |
| Minimum energy of clusters to apply correction. | |
| Gaudi::Property< int > | m_MinLookupBinNentry {this, "MinLookupBinNentry", 40} |
| minimum number of events in one lookup bin to use | |
| Gaudi::Property< float > | m_MinCellEnergyToDeal {this, "MinCellEnergyToDeal", 0.0} |
| minimum cell energy to deal | |
| Gaudi::Property< float > | m_MaxChangeInCellWeight {this, "MaxChangeInCellWeight", 30.0} |
| maximum allowed change in cell weights | |
| Gaudi::Property< bool > | m_useHadProbability {this, "UseHadProbability", false} |
| calculate DM energy using em-probability moment | |
| Gaudi::Property< bool > | m_interpolate {this, "Interpolate", false} |
| interpolate correction coefficients | |
| Gaudi::Property< bool > | m_updateSamplingVars {this, "UpdateSamplingVars", false} |
| update also sampling variables | |
| Gaudi::Property< std::map< std::string, std::vector< std::string > > > | m_interpolateDimensionNames |
| vector of names of dimensions to interpolate (for different correction types different set of dimensions) | |
| std::vector< int > | m_interpolateDimensionsFit |
| actual set of dimension id's to interpolate (in the DM areas corrected with TProfile approach) | |
| std::vector< int > | m_interpolateDimensionsLookup |
| actual set of dimension id's to interpolate (in the DM areas corrected with lookup approach) | |
| std::vector< int > | m_interpolateDimensionsSampling |
| actual set of dimension id's to interpolate (in the DM areas corrected with sampling weight approach) | |
| Gaudi::Property< bool > | m_absOpt {this, "WeightingOfNegClusters", false} |
| In Abs Option case, DM calculation has to be handled in a slightly different way. | |
dead material correction tool for local hadronic calibration
Calculates dead material energy of given cluster. Cluster energy, lambda and eta are used to get appropriate set of DM correction coefficients for appropriate dead material area ( dead material area definition and set of correction coefficients are holded by CaloHadDMCoeff2 class). DM coefficients are applied to cluster cells sums to calculate DM energy in different calorimeter areas. Finally, calculated DM energy is added to the cluster by changing (increasing) cluster cells weights in appropriate samplings.
Definition at line 42 of file CaloLCDeadMaterialTool.h.
Dead Material area number.
These keys are used to identify specific dead material areas in the calorimeter where procedure of DM correction will be applied
| Enumerator | |
|---|---|
| sDM_EMB0_EMB1 | |
| sDM_EMB3_TILE0 | |
| sDM_SCN | |
| sDM_EME0_EME12 | |
| sDM_EME3_HEC0 | |
| sDM_FCAL | |
| sDM_LEAKAGE | |
| sDM_UNCLASS | |
| sDM | |
Definition at line 52 of file CaloLCDeadMaterialTool.h.
|
overridevirtualdefault |
|
overridevirtual |
Definition at line 31 of file CaloLCDeadMaterialTool.cxx.
|
private |
Definition at line 472 of file CaloLCDeadMaterialTool.cxx.
|
overridevirtual |
Definition at line 79 of file CaloLCDeadMaterialTool.cxx.
|
private |
In Abs Option case, DM calculation has to be handled in a slightly different way.
Definition at line 168 of file CaloLCDeadMaterialTool.h.
|
private |
interpolate correction coefficients
Definition at line 139 of file CaloLCDeadMaterialTool.h.
|
private |
vector of names of dimensions to interpolate (for different correction types different set of dimensions)
Definition at line 147 of file CaloLCDeadMaterialTool.h.
|
private |
actual set of dimension id's to interpolate (in the DM areas corrected with TProfile approach)
Definition at line 158 of file CaloLCDeadMaterialTool.h.
|
private |
actual set of dimension id's to interpolate (in the DM areas corrected with lookup approach)
Definition at line 161 of file CaloLCDeadMaterialTool.h.
|
private |
actual set of dimension id's to interpolate (in the DM areas corrected with sampling weight approach)
Definition at line 164 of file CaloLCDeadMaterialTool.h.
|
private |
name of the key for DM cell weights
Definition at line 98 of file CaloLCDeadMaterialTool.h.
|
private |
maximum allowed change in cell weights
Definition at line 126 of file CaloLCDeadMaterialTool.h.
|
private |
minimum cell energy to deal
Definition at line 122 of file CaloLCDeadMaterialTool.h.
|
private |
Minimum energy of clusters to apply correction.
Definition at line 114 of file CaloLCDeadMaterialTool.h.
|
private |
minimum number of events in one lookup bin to use
Definition at line 118 of file CaloLCDeadMaterialTool.h.
|
private |
Required Reco Status for the clusters in order to be calibrated.
Definition at line 102 of file CaloLCDeadMaterialTool.h.
|
private |
update also sampling variables
Definition at line 143 of file CaloLCDeadMaterialTool.h.
|
private |
calculate DM energy using em-probability moment
The classification provides the probability p for the current cluster to be em-like. Dead material enegry of cluster is calculated as a mixture of DM energies for pure EM and pure HAD clusters using p as engDM = p *engDM_EM+(1-p)*endDM_HAD
Definition at line 135 of file CaloLCDeadMaterialTool.h.
|
private |
method of assignment of DM energy to cluster
if 0: setting cluster energy to the new value without changing of cells weights if 1: weights of all cells in the cluster with energy > m_MinCellEnergyToDeal will be changed if 2: changing only weights of cells which have been involved into DM calculation
Definition at line 110 of file CaloLCDeadMaterialTool.h.