ATLAS Offline Software
CscCalibMonToolSlope.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 MUONCALIBMONITORING_CSCCALIBMONTOOLSLOPE_H
6 #define MUONCALIBMONITORING_CSCCALIBMONTOOLSLOPE_H
7 
8 #include "CscCalibMonToolBase.h"
9 
11 #include "StoreGate/StoreGateSvc.h"
12 #include "GaudiKernel/MsgStream.h"
13 
15 class TH1F;
16 class TH1I;
17 class TProfile;
19 
38 // ^ modifying const histograms in StoreGate
39 {
40 
41  public:
43  CscCalibMonToolSlope (const std::string & type, const std::string & name,
44  const IInterface* parent);
45 
48 
51 
54 
55 
58 
59  private:
63  virtual StatusCode handleParameter(const CscCalibResultCollection* parVals);
64 
65 
67  virtual StatusCode postProc();
68 
70  StatusCode makeFracGraphs(const CscCalibReportSlope & slopeReport);
71 
73  StatusCode findDeadChannels(const CscCalibReportSlope & slopeReport);
74 
75  //Leftover from when I was using more arrays. I should get rid of this or replace it with something more vector friendly
76  //Maybe when I start using the slope program again more.. 2009-09-24
77  std::vector<float> & setArray(std::vector<float> & array , const float &value, const int &numEntries);
78 
80  void genNeighborRatios(const std::vector<float> & source, std::vector<float> & ratios) const;
81 
82  private:
84  bool m_doNeighborRatios{};
85 
87  bool m_histAttenLevels{};
88 
90  float m_slopeMaxDiff{},m_interceptMax{},m_chi2Max{}, m_fracDevMax{}, m_peaktMaxDiff{};
91 
93  int m_slopeBadBin{1}, m_interceptBadBin{2}, m_chi2BadBin{3}, m_peaktBadBin{4}, m_fracBadBin{5},
94  m_deadBadBin{6},m_missingBadBin{7};
95 
96  int m_totalLiveBin{1}, m_totalDeadBin{2}, m_newLiveBin{3}, m_newDeadBin{4};
98  TH1I *m_h_numBad{};
99 
101  TH1F *m_h_slopeCompareOverview{}, *m_h_interceptOverview{},*m_h_chi2Overview{},
102  *m_h_slopeMissingChans{};
103  //TH1F* m_h_peaktCompareOverview;
104 
106  TH1F *m_h_deadOverview{};
107 
109  std::vector<TProfile*> m_fracProfs;
110 
112  HistCollection *m_slopeNewColl{}, *m_slopeOldColl{}, *m_slopeDiffColl{};
113  HistCollection *m_peaktNewColl{}, *m_peaktOldColl{}, *m_peaktDiffColl{};
114  HistCollection *m_interceptColl{};
115  HistCollection *m_chi2Coll{};
116  HistCollection *m_deadNewColl{}, *m_deadDiffColl{};
117  HistCollection *m_slopeRatioColl{};
118 
119 
120  HistCollection * m_fitResColl{};
121 
123 
125  std::string m_histKey;
126 
128  std::string m_subDir;
129 
131  int m_deadPulserLevelCutoff, m_deadADCCutoff;
132 
134  //std::set<int> m_expectedHashIdsAll, m_expectedHashIdsPrec;
135 };
136 
137 
138 #endif
CscCalibMonToolBase
The CscCalibMonToolBase class.
Definition: CscCalibMonToolBase.h:56
CscCalibMonToolBase::bookHistograms
virtual StatusCode bookHistograms()
Standard function for a ManagedMonitorToolBase.
Definition: CscCalibMonToolBase.cxx:650
CscCalibMonToolBase::handleParameter
virtual StatusCode handleParameter(const CscCalibResultCollection *parVals)
Should be written by user in derived class.
Definition: CscCalibMonToolBase.cxx:754
CscCalibMonToolBase::postProc
virtual StatusCode postProc()
Run after handleParameter.
Definition: CscCalibMonToolBase.cxx:734
CscCalibMonToolBase.h
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
TH1I
Definition: rootspy.cxx:332
CscCalibMonToolSlope::m_fracProfs
std::vector< TProfile * > m_fracProfs
Holds fractional deviation TProfiles.
Definition: CscCalibMonToolSlope.h:109
athena.value
value
Definition: athena.py:122
CscCalibMonToolSlope::m_histKey
std::string m_histKey
Storegate key for pedestal amplitude histograms.
Definition: CscCalibMonToolSlope.h:125
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CscCalibMonToolSlope::~CscCalibMonToolSlope
~CscCalibMonToolSlope()
Destructor.
Definition: CscCalibMonToolSlope.h:47
CscCalibMonToolSlope::m_deadPulserLevelCutoff
int m_deadPulserLevelCutoff
Dead channel finding user defined parameters.
Definition: CscCalibMonToolSlope.h:131
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CscCalibMonToolBase::HistCollection
Contains an array with data on a per-channel basis, as well as various histograms that give different...
Definition: CscCalibMonToolBase.h:205
CscCalibMonToolSlope::m_subDir
std::string m_subDir
Name of subdirectory under EXPERT or SHIFT that the histograms will be stored.
Definition: CscCalibMonToolSlope.h:128
DataVector< HistCollection >
CscCalibReportSlope
Definition: CscCalibReportSlope.h:28
lumiFormat.array
array
Definition: lumiFormat.py:98
CscCalibMonToolBase::initialize
virtual StatusCode initialize()
initializes services, tools, etc.
Definition: CscCalibMonToolBase.cxx:61
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TProfile
Definition: rootspy.cxx:515
TH1F
Definition: rootspy.cxx:320
CscCalibResultCollection
Definition: CscCalibResultCollection.h:24
CscCalibMonToolSlope
Class for monitoring CSC relative gain calibration results.
Definition: CscCalibMonToolSlope.h:39
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CscCalibMonToolSlope::m_ampColls
DataVector< HistCollection > m_ampColls
Definition: CscCalibMonToolSlope.h:122
CscCalibMonToolBase::finalize
virtual StatusCode finalize()
deletes private members
Definition: CscCalibMonToolBase.cxx:130
checker_macros.h
Define macros for attributes used to control the static checker.
StoreGateSvc.h