ATLAS Offline Software
eflowRingSubtractionManager.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef EFLOWCELLSUBTRACTIONMANAGER_H
6 #define EFLOWCELLSUBTRACTIONMANAGER_H
7 
8 /********************************************************************
9 
10 NAME: eflowRingSubtractionManager.h
11 PACKAGE: offline/Reconstruction/eflowRec
12 
13 AUTHORS: M.Hodgkinson, R Duxfield (based on R.Duxfields Root package)
14 CREATED: 18th Aug, 2005
15 
16 ********************************************************************/
17 
18 //C++ Headers
19 #include <vector>
20 #include <map>
22 
25 
26 typedef std::pair<eflowCaloENUM,short> RingId;
27 
32 
33  public:
34 
36 
37  double fudgeMean() const {return m_fudgeMean;}
38  double fudgeStdDev() const {return m_fudgeStdDev;}
39  /* for eflowTauTool */
42 
43  void clear() {m_rankMap.clear();}
44  std::map<double,RingId>::const_iterator rankBegin() const {return m_rankMap.begin();}
45  std::map<double,RingId>::const_iterator rankEnd() const {return m_rankMap.end();}
46 
48 
49  bool getOrdering(const eflowEEtaBinnedParameters* binnedParameters, double e, double eta, eflowFirstIntENUM j1st, bool useLegacyEnergyBinIndexing);
50 
51  private:
52 
53  void setParameters(const eflowFirstIntParameters& param, const std::vector<double>& ringThickness);
54  static double ringMeanRank(const std::vector<double>& p, double rMin, double rMax) ;
55  static std::vector<eflowCaloENUM> orderedLayersByShowerParam(const eflowFirstIntParameters& param, unsigned int whichParam=0);
56 
57  private:
58 
59  std::map<double,RingId> m_rankMap;
60  std::vector<double> m_ringThickness;
61  double m_fudgeMean{};
62  double m_fudgeStdDev{};
63 
64  static constexpr double m_rMax = 0.75;
65  static constexpr double m_weightRange = 1.0e6;
66 };
67 #endif
eflowCaloRegions.h
eflowRingSubtractionManager::setParameters
void setParameters(const eflowFirstIntParameters &param, const std::vector< double > &ringThickness)
Definition: eflowRingSubtractionManager.cxx:75
eflowEEtaBinnedParameters
Inherits from eflowEEtaBinBase.
Definition: eflowEEtaBinnedParameters.h:56
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
eflowRingSubtractionManager::rankBegin
std::map< double, RingId >::const_iterator rankBegin() const
Definition: eflowRingSubtractionManager.h:44
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
eflowRingSubtractionManager::m_ringThickness
std::vector< double > m_ringThickness
Definition: eflowRingSubtractionManager.h:60
eflowRingSubtractionManager::orderedLayersByShowerParam
static std::vector< eflowCaloENUM > orderedLayersByShowerParam(const eflowFirstIntParameters &param, unsigned int whichParam=0)
Definition: eflowRingSubtractionManager.cxx:42
eflowRingSubtractionManager::clear
void clear()
Definition: eflowRingSubtractionManager.h:43
eflowRingSubtractionManager::fudgeStdDev
double fudgeStdDev() const
Definition: eflowRingSubtractionManager.h:38
eflowRingSubtractionManager::m_fudgeMean
double m_fudgeMean
Definition: eflowRingSubtractionManager.h:61
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
eflowRingSubtractionManager::fudgeMean
double fudgeMean() const
Definition: eflowRingSubtractionManager.h:37
eflowRingSubtractionManager::ringMeanRank
static double ringMeanRank(const std::vector< double > &p, double rMin, double rMax)
Definition: eflowRingSubtractionManager.cxx:29
eflowRingSubtractionManager
This stores information, a rank and ring thickness, about cell rings in an ordered way.
Definition: eflowRingSubtractionManager.h:31
eflowRingSubtractionManager::m_fudgeStdDev
double m_fudgeStdDev
Definition: eflowRingSubtractionManager.h:62
eflowRingSubtractionManager::getOrdering
bool getOrdering(const eflowEEtaBinnedParameters *binnedParameters, double e, double eta, eflowFirstIntENUM j1st, bool useLegacyEnergyBinIndexing)
Definition: eflowRingSubtractionManager.cxx:103
RingId
std::pair< eflowCaloENUM, short > RingId
Definition: eflowRingSubtractionManager.h:24
eflowRingSubtractionManager::m_weightRange
static constexpr double m_weightRange
Definition: eflowRingSubtractionManager.h:65
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
eflowCalo::LAYER
LAYER
Definition: eflowCaloRegions.h:36
eflowRingSubtractionManager::m_rankMap
std::map< double, RingId > m_rankMap
Definition: eflowRingSubtractionManager.h:59
eflowRingSubtractionManager::setFudgeStdDev
void setFudgeStdDev(double fudgeStdDev)
Definition: eflowRingSubtractionManager.h:41
eflowRingSubtractionManager::m_rMax
static constexpr double m_rMax
Definition: eflowRingSubtractionManager.h:64
eflowRingSubtractionManager::eflowRingSubtractionManager
eflowRingSubtractionManager()
Definition: eflowRingSubtractionManager.cxx:27
eflowRingSubtractionManager::setFudgeMean
void setFudgeMean(double fudgeMean)
Definition: eflowRingSubtractionManager.h:40
eflowRingSubtractionManager::rankEnd
std::map< double, RingId >::const_iterator rankEnd() const
Definition: eflowRingSubtractionManager.h:45
eflowFirstIntParameters
Extends eflowFirstInt to include parameters of the fits to radial shower profiles.
Definition: eflowFirstIntParameters.h:28
eflowRingSubtractionManager::ringThickness
double ringThickness(eflowCaloENUM layer) const
Definition: eflowRingSubtractionManager.h:47
eflowFirstIntRegions::J1STLAYER
J1STLAYER
Definition: eflowCaloRegions.h:58