ATLAS Offline Software
MdtDeadNoisyUtils.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3  */
4 
5 #ifndef dqutilsMdtDeadNoisy_h
6 #define dqutilsMdtDeadNoisy_h
7 
8 #include <vector>
9 #include <string>
10 #include <sstream>
11 #include <iostream>
12 #include <fstream>
13 #include <stdio.h>
14 
15 #include <TString.h>
16 #include <TH1F.h>
17 #include <TCanvas.h>
18 
20  struct TubeRange {
21  TubeRange(int a, int b) {x1 = a; x2 = b;}
22  bool InRange(int x) {
23  if ((x >= x1) && (x <= x2)) return true;
24 
25  return false;
26  }
27 
28  int x1;
29  int x2;
30  };
31 
32  double sqr(double x);
33  void displayList(std::vector<int>& v);
34  void displayList(std::vector<int>& v, std::ofstream& outputfile);
35  void getDeadList(TH1F* h, std::vector<int>& v);
36  bool find(std::vector<int>& v, unsigned int x);
37  void getSurelyDeadList(TH1F* h, std::vector<int>& v, std::vector<int>& betweenlist);
38  void getNotBetweenList(std::vector<int>& v, std::vector<int>& surely_v, std::vector<int>& betweenlist);
39  void getNotMasked(std::vector<int>& v, TH1F* h);
40  void getNotInDeadML(std::vector<int>& v, std::vector<int>& deadML_v, const TString& hardware_name, int totalTubes);
41  void getNotInDeadLayer(std::vector<int>& v, std::vector<int>& deadLayer_v, const TString& hardware_name,
42  int totalTubes);
43  void getNotInDeadMezz(std::vector<int>& v, std::vector<int>& deadMezz_v, const TString& hardware_name,
44  int totalTubes);
45  void getAllBins(TH1F* h, std::vector<int>& v);
46  void getAllBinsInRange(TH1F* h, std::vector<int>& v, int x1, int x2);
47  void getAllBinsInRangeBelowCutoff(TH1F* h, std::vector<int>& v, int crustCutoff, int x1, int x2);
48  void getAllUnmaskedBinsInRangeBelowCrustCutoff(TH1F* h, std::vector<int>& v, int crustCutoff, int x1, int x2);
49  void getBins(TH1F* h, std::vector<int>& indices, std::vector<int>& content);
50  void removeZeros(std::vector<int>& v);
51  void getAllTubes(TH1F* h, std::vector<int>& v);
52  void getNonEmptyBins(TH1F* h, std::vector<int>& v);
53  void getNonEmptyTubes(TH1F* h, std::vector<int>& v);
54  template <class T>
55  double getMean(std::vector<T>& v);
56  double getMean_WithCut(std::vector<int>& v, double cut);
57  void getNoBetweens(TH1F* h, std::vector<int>& no_dead, std::vector<int>& no_betweens, std::vector<int>& betweenlist,
58  float minBinContent);
59  void getNoBetweens_middle(std::vector<int> no_betweens, std::vector<int>& no_betweens_middle);
60  void getNoBetweens_lowmiddle(std::vector<int> no_betweens, std::vector<int>& no_betweens_lowmiddle);
61  void getNoBetweens_middle_aggressive(std::vector<int> no_betweens, std::vector<int>& no_betweens_middle_aggressive);
62  void getNoBetweens_middle_semiaggressive(std::vector<int> no_betweens,
63  std::vector<int>& no_betweens_middle_aggressive);
64  void getNoBetweens_lowmiddle_aggressive(std::vector<int> no_betweens,
65  std::vector<int>& no_betweens_lowmiddle_aggressive);
66  void getNoBetweens_highmiddle_aggressive(std::vector<int> no_betweens,
67  std::vector<int>& no_betweens_lowmiddle_aggressive);
68  double getStandardDevFromMean(std::vector<int>& v, double mean);
69  double getStandardDevFromMean_neg(std::vector<int>& v, double mean);
70  double getStandardDevFromMean_pos(std::vector<int>& v, double mean);
71  void getNoisyList(TH1F* h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_middle_aggressive,
72  double num_std_dev, std::vector<int>& noisylist);
73  void getNoisyList2(TH1F* h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_middle_aggressive,
74  double num_pct, std::vector<int>& noisylist);
75  void getIneffList(TH1F* h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
76  double num_std_dev, std::vector<int>& inefflist);
77  void getIneffList(TH1F* h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
78  double num_std_dev_1, double num_std_dev_2, std::vector<int>& inefflist);
79  void getIneffList2(TH1F* h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
80  double num_pct, std::vector<int>& inefflist);
81  void getIneffList2(TH1F* h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
82  double num_pct_1, double num_pct_2, std::vector<int>& inefflist);
83  void getIneffList2(std::vector<int>& indices, TH1F* h, std::vector<int>& no_betweens_middle,
84  std::vector<int>& no_betweens_lowmiddle_aggressive, double num_pct, std::vector<int>& inefflist);
85  bool validityCheckDead(std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_middle_aggressive);
86  bool validityCheckNoise(std::vector<int>& no_betweens_middle,
87  std::vector<int>& no_betweens_middle_aggressive /*, int max*/); //max parameter is not
88  // currently used
89  void getNonEmptyNonNoisyTubes(TH1F* h_tube_fornoise, TH1F* h_tube, std::vector<int>& non_dead_non_noisy);
90  void removeNonContiguous(std::vector<int>& betweenlist, unsigned int sz);
91  void CatalogNoisyEff(TH1F* h_tube_bkd, TH1F* h_tube_fornoise, TH1F* num, TH1F* den, int nTriggers,
92  TH1F* EffVSNoise_num, TH1F* EffVSNoise_den, TH1F* EffVSNoise_ADCCut_num,
93  TH1F* EffVSNoise_ADCCut_den, TH1F* EffVSBkd_num, TH1F* EffVSBkd_den);
94  std::vector<int> GetNoisyTubes(TH1F* h_tube_fornoise, int nTriggers, float frequency);//Simply determine noisy tubes
95  // from freq.
96  std::vector<int> GetNoisyTubes(TH1F* h_tube_fornoise, TH1F* h_tube, TString chamber, int& validity);
97  std::vector<int> GetNoisyTubes_WithoutForNoise(TH1F* h_tube, int& validity, TString chamber);
98  //std::vector<int> GetDeadTubes( TH1F* h_tube_fornoise, TH1F* h_tube, TString chamber);
99  std::vector<int> GetDeadTubes(TH1F* h_tube, int& validity, std::vector<int>& deadML_v, std::vector<int>& deadLayer_v,
100  std::vector<int>& deadMezz_v);
101  //std::vector<int> GetMaskedTubesForDead( TH1F* h_tube_fornoise, TH1F* h_tube, TString chamber);
102  std::vector<int> GetMaskedTubesForDead(TH1F* h_tube);
103  //std::vector<int> GetMaskedTubesForNoisy( TH1F* h_tube_fornoise, TH1F* h_tube, TString chamber);
104  std::vector<int> GetMaskedTubesForNoisy(TH1F* h_tube_fornoise);
105  double GetMeanFromHist(TH1F* h_tube);
106  double GetStandardDevFromHist(TH1F* h_tube, double mean);
107  int getLastTubeInLayer(int& firstTubeInLayer, const TString& hardware_name, int totalTubes);
108  std::vector<TubeRange> getLayerRanges(const TString& hardware_name, int totalTubes);
109  int getLastTubeInML(int& firstTubeInML, const TString& hardware_name, int totalTubes);
110  std::vector<TubeRange> getMLRanges(const TString& hardware_name, int totalTubes);
111  std::vector<TubeRange> getMezzRanges(const TString& hardware_name, int totalTubes, int& groupsPerLayer);
112  int Get_ML_of_Mezz(int& mezz, const TString& hardware_name, int totalTubes);
113  int Get_ML_of_Mezz_degenerate(int& mezz, const TString& hardware_name, int totalTubes);
114  std::vector<int> /*void*/ FindDeadMezz(TH1F* h_tube, const TString& hardware_name, std::vector<int>& deadML_v);
115  std::vector<int> /*void*/ FindDeadLayer(TH1F* h_tube, const TString& hardware_name, std::vector<int>& deadML_v);
116  std::vector<int> /*void*/ FindDeadML(TH1F* h_tube, const TString& hardware_name);
117  int GetNumML(const TString& hardware_name);
118  int GetNumLayersPerML(const TString& hardware_name);
119  int GetNumTubesPerMezz(const TString& hardware_name, int mezz);//For Getting total tube count
120  //global layer i.e. 5 instead of ML2 layer 2
121  int GetNumTubesPerML(const TString& hardware_name, int layer, int TotalTubes);//For Getting total tube count
122  int GetNumTubesPerLayer(const TString& hardware_name, int ML, int TotalTubes);//For Getting total tube count
123  int Get_ML_of_Layer(int& layer, const TString& hardware_name);
124  int Get_ML_of_Tube(int& tubeID, const TString& hardware_name, int totalTubes);
125  int Get_Layer_of_Tube(int& tubeID, const TString& hardware_name, int totalTubes);
126  int Get_Mezz_of_Tube(int& tubeID, const TString& hardware_name /*, int totalTubes*/,
127  std::vector<TubeRange>& tubeRanges, int groupsPerLayer);
128  int GetNumNonMaskedTubes(TH1F* h_tube);
129  int GetNumMezz(TH1F* h_tube);
130  bool AinB(int A, std::vector<int>& B);
131  bool AinB(int A, const std::vector<int>* B);
132 
133  //For dumping pdf
134  void FillPDF(const std::string& inFilename, TH1F* hDead, TH1F* hNoise, TCanvas* c,
135  const std::vector<int>* deadTubes, const std::vector<int>* deadASD, const std::vector<int>* deadMEZZ,
136  const std::vector<int>* deadLayer, const std::vector<int>* deadML,
137  const std::vector<int>* noisyTubes, const std::vector<int>* noisyASD, const std::vector<int>* noisyMEZZ,
138  const std::vector<int>* noisyLayer, const std::vector<int>* noisyML,
139  int deadTubesChamberValidity, int noisyTubesChamberValidity,
140  bool draw_Mezz_L_ML_guidlines, bool draw_mean, bool draw_masked_tubes, bool separate_dead_noisy_histos,
141  bool draw_validity_message, bool draw_histo_if_nothing_to_report);
142 } // end namespace
143 
144 #endif
dqutils_mdtdeadnoisy::TubeRange::InRange
bool InRange(int x)
Definition: MdtDeadNoisyUtils.h:22
dqutils_mdtdeadnoisy::find
bool find(std::vector< int > &v, unsigned int x)
Definition: MdtDeadNoisyUtils.cxx:67
dqutils_mdtdeadnoisy::getNotInDeadMezz
void getNotInDeadMezz(std::vector< int > &v, std::vector< int > &deadMezz_v, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:194
plotBeamSpotCompare.x1
x1
Definition: plotBeamSpotCompare.py:216
dqutils_mdtdeadnoisy::Get_ML_of_Mezz_degenerate
int Get_ML_of_Mezz_degenerate(int &mezz, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:1111
dqutils_mdtdeadnoisy::GetNumNonMaskedTubes
int GetNumNonMaskedTubes(TH1F *h_tube)
Definition: MdtDeadNoisyUtils.cxx:672
dqutils_mdtdeadnoisy::getNoisyList2
void getNoisyList2(TH1F *h, std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_middle_aggressive, double num_pct, std::vector< int > &noisylist)
mean
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
Definition: dependence.cxx:254
fitman.sz
sz
Definition: fitman.py:527
dqutils_mdtdeadnoisy::getAllBinsInRangeBelowCutoff
void getAllBinsInRangeBelowCutoff(TH1F *h, std::vector< int > &v, int crustCutoff, int x1, int x2)
dqutils_mdtdeadnoisy::getBins
void getBins(TH1F *h, std::vector< int > &indices, std::vector< int > &content)
Definition: MdtDeadNoisyUtils.cxx:144
dqutils_mdtdeadnoisy::GetNumTubesPerML
int GetNumTubesPerML(const TString &hardware_name, int layer, int TotalTubes)
Definition: MdtDeadNoisyUtils.cxx:850
dqutils_mdtdeadnoisy::getAllTubes
void getAllTubes(TH1F *h, std::vector< int > &v)
Definition: MdtDeadNoisyUtils.cxx:166
dqutils_mdtdeadnoisy::removeNonContiguous
void removeNonContiguous(std::vector< int > &betweenlist, unsigned int sz)
Definition: MdtDeadNoisyUtils.cxx:299
dqutils_mdtdeadnoisy::getLastTubeInLayer
int getLastTubeInLayer(int &firstTubeInLayer, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:906
calibdata.chamber
chamber
Definition: calibdata.py:32
Trk::indices
std::pair< long int, long int > indices
Definition: AlSymMatBase.h:24
dqutils_mdtdeadnoisy::GetNoisyTubes
std::vector< int > GetNoisyTubes(TH1F *h_tube_fornoise, int nTriggers, float frequency)
Definition: MdtDeadNoisyUtils.cxx:590
plotBeamSpotCompare.x2
x2
Definition: plotBeamSpotCompare.py:218
dqutils_mdtdeadnoisy::getStandardDevFromMean_pos
double getStandardDevFromMean_pos(std::vector< int > &v, double mean)
Definition: MdtDeadNoisyUtils.cxx:395
dqutils_mdtdeadnoisy::getNonEmptyNonNoisyTubes
void getNonEmptyNonNoisyTubes(TH1F *h_tube_fornoise, TH1F *h_tube, std::vector< int > &non_dead_non_noisy)
Definition: MdtDeadNoisyUtils.cxx:534
dqutils_mdtdeadnoisy::GetNumTubesPerMezz
int GetNumTubesPerMezz(const TString &hardware_name, int mezz)
Definition: MdtDeadNoisyUtils.cxx:840
dqutils_mdtdeadnoisy::TubeRange::TubeRange
TubeRange(int a, int b)
Definition: MdtDeadNoisyUtils.h:21
dqutils_mdtdeadnoisy::getNoBetweens_lowmiddle_aggressive
void getNoBetweens_lowmiddle_aggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_lowmiddle_aggressive)
Definition: MdtDeadNoisyUtils.cxx:353
dqutils_mdtdeadnoisy::GetNumLayersPerML
int GetNumLayersPerML(const TString &hardware_name)
Definition: MdtDeadNoisyUtils.cxx:823
dqutils_mdtdeadnoisy::getNoBetweens
void getNoBetweens(TH1F *h, std::vector< int > &no_dead, std::vector< int > &no_betweens, std::vector< int > &betweenlist, float minBinContent)
Definition: MdtDeadNoisyUtils.cxx:266
dqutils_mdtdeadnoisy::getLayerRanges
std::vector< TubeRange > getLayerRanges(const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:1287
dqutils_mdtdeadnoisy::GetDeadTubes
std::vector< int > GetDeadTubes(TH1F *h_tube, int &validity, std::vector< int > &deadML_v, std::vector< int > &deadLayer_v, std::vector< int > &deadMezz_v)
Definition: MdtDeadNoisyUtils.cxx:682
dqutils_mdtdeadnoisy::Get_ML_of_Layer
int Get_ML_of_Layer(int &layer, const TString &hardware_name)
Definition: MdtDeadNoisyUtils.cxx:964
x
#define x
dqutils_mdtdeadnoisy::getMezzRanges
std::vector< TubeRange > getMezzRanges(const TString &hardware_name, int totalTubes, int &groupsPerLayer)
Definition: MdtDeadNoisyUtils.cxx:1062
dqutils_mdtdeadnoisy::GetNumTubesPerLayer
int GetNumTubesPerLayer(const TString &hardware_name, int ML, int TotalTubes)
Definition: MdtDeadNoisyUtils.cxx:870
dqutils_mdtdeadnoisy::removeZeros
void removeZeros(std::vector< int > &v)
Definition: MdtDeadNoisyUtils.cxx:151
outputfile
ofstream outputfile
Definition: CellClusterLinkTool.h:25
grepfile.content
string content
Definition: grepfile.py:56
dqutils_mdtdeadnoisy::getAllBins
void getAllBins(TH1F *h, std::vector< int > &v)
Definition: MdtDeadNoisyUtils.cxx:93
dqutils_mdtdeadnoisy::FindDeadMezz
std::vector< int > FindDeadMezz(TH1F *h_tube, const TString &hardware_name, std::vector< int > &deadML_v)
Definition: MdtDeadNoisyUtils.cxx:1314
dqutils_mdtdeadnoisy::CatalogNoisyEff
void CatalogNoisyEff(TH1F *h_tube_bkd, TH1F *h_tube_fornoise, TH1F *num, TH1F *den, int nTriggers, TH1F *EffVSNoise_num, TH1F *EffVSNoise_den, TH1F *EffVSNoise_ADCCut_num, TH1F *EffVSNoise_ADCCut_den, TH1F *EffVSBkd_num, TH1F *EffVSBkd_den)
Definition: MdtDeadNoisyUtils.cxx:564
dqutils_mdtdeadnoisy::TubeRange::x1
int x1
Definition: MdtDeadNoisyUtils.h:28
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
dqutils_mdtdeadnoisy::getStandardDevFromMean
double getStandardDevFromMean(std::vector< int > &v, double mean)
Definition: MdtDeadNoisyUtils.cxx:371
dqutils_mdtdeadnoisy::getNotBetweenList
void getNotBetweenList(std::vector< int > &v, std::vector< int > &surely_v, std::vector< int > &betweenlist)
Definition: MdtDeadNoisyUtils.cxx:84
dqutils_mdtdeadnoisy::getNotMasked
void getNotMasked(std::vector< int > &v, TH1F *h)
Definition: MdtDeadNoisyUtils.cxx:180
BindingsTest.cut
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
Definition: BindingsTest.py:13
dqutils_mdtdeadnoisy::getNonEmptyBins
void getNonEmptyBins(TH1F *h, std::vector< int > &v)
Definition: MdtDeadNoisyUtils.cxx:159
dqutils_mdtdeadnoisy::getSurelyDeadList
void getSurelyDeadList(TH1F *h, std::vector< int > &v, std::vector< int > &betweenlist)
Definition: MdtDeadNoisyUtils.cxx:74
dqutils_mdtdeadnoisy::getNotInDeadLayer
void getNotInDeadLayer(std::vector< int > &v, std::vector< int > &deadLayer_v, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:215
dqutils_mdtdeadnoisy::getNoBetweens_middle_aggressive
void getNoBetweens_middle_aggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_middle_aggressive)
Definition: MdtDeadNoisyUtils.cxx:336
dqutils_mdtdeadnoisy::getMean_WithCut
double getMean_WithCut(std::vector< int > &v, double cut)
Definition: MdtDeadNoisyUtils.cxx:253
dqutils_mdtdeadnoisy::getMLRanges
std::vector< TubeRange > getMLRanges(const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:1300
dqutils_mdtdeadnoisy::getNonEmptyTubes
void getNonEmptyTubes(TH1F *h, std::vector< int > &v)
Definition: MdtDeadNoisyUtils.cxx:173
dqutils_mdtdeadnoisy::Get_Mezz_of_Tube
int Get_Mezz_of_Tube(int &tubeID, const TString &hardware_name, std::vector< TubeRange > &tubeRanges, int groupsPerLayer)
Definition: MdtDeadNoisyUtils.cxx:1192
dqutils_mdtdeadnoisy::TubeRange::x2
int x2
Definition: MdtDeadNoisyUtils.h:29
dqutils_mdtdeadnoisy::TubeRange
Definition: MdtDeadNoisyUtils.h:20
dqutils_mdtdeadnoisy::GetStandardDevFromHist
double GetStandardDevFromHist(TH1F *h_tube, double mean)
Definition: MdtDeadNoisyUtils.cxx:811
dqutils_mdtdeadnoisy::getNoBetweens_highmiddle_aggressive
void getNoBetweens_highmiddle_aggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_lowmiddle_aggressive)
Definition: MdtDeadNoisyUtils.cxx:362
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
dqutils_mdtdeadnoisy::Get_Layer_of_Tube
int Get_Layer_of_Tube(int &tubeID, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:1217
dqutils_mdtdeadnoisy::getStandardDevFromMean_neg
double getStandardDevFromMean_neg(std::vector< int > &v, double mean)
Definition: MdtDeadNoisyUtils.cxx:383
dqutils_mdtdeadnoisy::getNoisyList
void getNoisyList(TH1F *h, std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_middle_aggressive, double num_std_dev, std::vector< int > &noisylist)
Definition: MdtDeadNoisyUtils.cxx:407
dqutils_mdtdeadnoisy::AinB
bool AinB(int A, std::vector< int > &B)
Definition: MdtDeadNoisyUtils.cxx:1420
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
dqutils_mdtdeadnoisy::getLastTubeInML
int getLastTubeInML(int &firstTubeInML, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:993
dqutils_mdtdeadnoisy::GetNumML
int GetNumML(const TString &hardware_name)
Definition: MdtDeadNoisyUtils.cxx:890
dqutils_mdtdeadnoisy::Get_ML_of_Mezz
int Get_ML_of_Mezz(int &mezz, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:1152
dqutils_mdtdeadnoisy::FindDeadLayer
std::vector< int > FindDeadLayer(TH1F *h_tube, const TString &hardware_name, std::vector< int > &deadML_v)
Definition: MdtDeadNoisyUtils.cxx:1379
dqutils_mdtdeadnoisy::getNotInDeadML
void getNotInDeadML(std::vector< int > &v, std::vector< int > &deadML_v, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:228
dqutils_mdtdeadnoisy::getNoBetweens_middle_semiaggressive
void getNoBetweens_middle_semiaggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_middle_aggressive)
Definition: MdtDeadNoisyUtils.cxx:344
dqutils_mdtdeadnoisy::getAllUnmaskedBinsInRangeBelowCrustCutoff
void getAllUnmaskedBinsInRangeBelowCrustCutoff(TH1F *h, std::vector< int > &v, int crustCutoff, int x1, int x2)
Definition: MdtDeadNoisyUtils.cxx:127
dqutils_mdtdeadnoisy::validityCheckNoise
bool validityCheckNoise(std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_middle_aggressive)
Definition: MdtDeadNoisyUtils.cxx:510
python.PyAthena.v
v
Definition: PyAthena.py:157
dqutils_mdtdeadnoisy::getIneffList2
void getIneffList2(TH1F *h, std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_lowmiddle_aggressive, double num_pct, std::vector< int > &inefflist)
dqutils_mdtdeadnoisy::FindDeadML
std::vector< int > FindDeadML(TH1F *h_tube, const TString &hardware_name)
Definition: MdtDeadNoisyUtils.cxx:1435
dqutils_mdtdeadnoisy::validityCheckDead
bool validityCheckDead(std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_middle_aggressive)
Definition: MdtDeadNoisyUtils.cxx:481
a
TList * a
Definition: liststreamerinfos.cxx:10
dqutils_mdtdeadnoisy::GetMeanFromHist
double GetMeanFromHist(TH1F *h_tube)
Definition: MdtDeadNoisyUtils.cxx:797
h
TH1F
Definition: rootspy.cxx:320
dqutils_mdtdeadnoisy::displayList
void displayList(std::vector< int > &v)
Definition: MdtDeadNoisyUtils.cxx:32
dqutils_mdtdeadnoisy::getMean
double getMean(std::vector< T > &v)
Definition: MdtDeadNoisyUtils.cxx:244
dqutils_mdtdeadnoisy::getDeadList
void getDeadList(TH1F *h, std::vector< int > &v)
Definition: MdtDeadNoisyUtils.cxx:60
dqutils_mdtdeadnoisy::GetMaskedTubesForDead
std::vector< int > GetMaskedTubesForDead(TH1F *h_tube)
Definition: MdtDeadNoisyUtils.cxx:725
dqutils_mdtdeadnoisy::GetMaskedTubesForNoisy
std::vector< int > GetMaskedTubesForNoisy(TH1F *h_tube_fornoise)
Definition: MdtDeadNoisyUtils.cxx:777
dqutils_mdtdeadnoisy::sqr
double sqr(double x)
Definition: MdtDeadNoisyUtils.cxx:28
dqutils_mdtdeadnoisy::getNoBetweens_lowmiddle
void getNoBetweens_lowmiddle(std::vector< int > no_betweens, std::vector< int > &no_betweens_lowmiddle)
Definition: MdtDeadNoisyUtils.cxx:328
dqutils_mdtdeadnoisy
Definition: MdtDeadNoisyUtils.h:19
dqutils_mdtdeadnoisy::getNoBetweens_middle
void getNoBetweens_middle(std::vector< int > no_betweens, std::vector< int > &no_betweens_middle)
Definition: MdtDeadNoisyUtils.cxx:320
dqutils_mdtdeadnoisy::getIneffList
void getIneffList(TH1F *h, std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_lowmiddle_aggressive, double num_std_dev, std::vector< int > &inefflist)
Definition: MdtDeadNoisyUtils.cxx:430
dqutils_mdtdeadnoisy::getAllBinsInRange
void getAllBinsInRange(TH1F *h, std::vector< int > &v, int x1, int x2)
Definition: MdtDeadNoisyUtils.cxx:99
dqutils_mdtdeadnoisy::GetNumMezz
int GetNumMezz(TH1F *h_tube)
Definition: MdtDeadNoisyUtils.cxx:1053
dqutils_mdtdeadnoisy::FillPDF
void FillPDF(const std::string &inFilename, TH1F *hDead, TH1F *hNoise, TCanvas *c, const std::vector< int > *deadTubes, const std::vector< int > *deadASD, const std::vector< int > *deadMEZZ, const std::vector< int > *deadLayer, const std::vector< int > *deadML, const std::vector< int > *noisyTubes, const std::vector< int > *noisyASD, const std::vector< int > *noisyMEZZ, const std::vector< int > *noisyLayer, const std::vector< int > *noisyML, int deadTubesChamberValidity, int noisyTubesChamberValidity, bool draw_Mezz_L_ML_guidlines, bool draw_mean, bool draw_masked_tubes, bool separate_dead_noisy_histos, bool draw_validity_message, bool draw_histo_if_nothing_to_report)
Definition: MdtDeadNoisyUtils.cxx:1470
RunTileMonitoring.frequency
frequency
Definition: RunTileMonitoring.py:162
python.compressB64.c
def c
Definition: compressB64.py:93
dqutils_mdtdeadnoisy::GetNoisyTubes_WithoutForNoise
std::vector< int > GetNoisyTubes_WithoutForNoise(TH1F *h_tube, int &validity, TString chamber)
Definition: MdtDeadNoisyUtils.cxx:637
dqutils_mdtdeadnoisy::Get_ML_of_Tube
int Get_ML_of_Tube(int &tubeID, const TString &hardware_name, int totalTubes)
Definition: MdtDeadNoisyUtils.cxx:1262