22 if ((
x >=
x1) && (
x <=
x2))
return true;
35 bool find(std::vector<int>& v,
unsigned int x);
37 void getNotBetweenList(std::vector<int>& v, std::vector<int>& surely_v, std::vector<int>& betweenlist);
39 void getNotInDeadML(std::vector<int>& v, std::vector<int>& deadML_v,
const std::string& hardware_name,
int totalTubes);
40 void getNotInDeadLayer(std::vector<int>& v, std::vector<int>& deadLayer_v,
const std::string& hardware_name,
42 void getNotInDeadMezz(std::vector<int>& v, std::vector<int>& deadMezz_v,
const std::string& hardware_name,
48 void getBins(TH1F*
h, std::vector<int>& indices, std::vector<int>& content);
54 double getMean(std::vector<T>& v);
56 void getNoBetweens(TH1F*
h, std::vector<int>& no_dead, std::vector<int>& no_betweens, std::vector<int>& betweenlist,
62 std::vector<int>& no_betweens_middle_aggressive);
64 std::vector<int>& no_betweens_lowmiddle_aggressive);
66 std::vector<int>& no_betweens_lowmiddle_aggressive);
70 void getNoisyList(TH1F*
h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_middle_aggressive,
71 double num_std_dev, std::vector<int>& noisylist);
72 void getNoisyList2(TH1F*
h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_middle_aggressive,
73 double num_pct, std::vector<int>& noisylist);
74 void getIneffList(TH1F*
h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
75 double num_std_dev, std::vector<int>& inefflist);
76 void getIneffList(TH1F*
h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
77 double num_std_dev_1,
double num_std_dev_2, std::vector<int>& inefflist);
78 void getIneffList2(TH1F*
h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
79 double num_pct, std::vector<int>& inefflist);
80 void getIneffList2(TH1F*
h, std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_lowmiddle_aggressive,
81 double num_pct_1,
double num_pct_2, std::vector<int>& inefflist);
82 void getIneffList2(std::vector<int>& indices, TH1F*
h, std::vector<int>& no_betweens_middle,
83 std::vector<int>& no_betweens_lowmiddle_aggressive,
double num_pct, std::vector<int>& inefflist);
84 bool validityCheckDead(std::vector<int>& no_betweens_middle, std::vector<int>& no_betweens_middle_aggressive);
86 std::vector<int>& no_betweens_middle_aggressive );
90 void CatalogNoisyEff(TH1F* h_tube_bkd, TH1F* h_tube_fornoise, TH1F* num, TH1F* den,
int nTriggers,
91 TH1F* EffVSNoise_num, TH1F* EffVSNoise_den, TH1F* EffVSNoise_ADCCut_num,
92 TH1F* EffVSNoise_ADCCut_den, TH1F* EffVSBkd_num, TH1F* EffVSBkd_den);
93 std::vector<int>
GetNoisyTubes(TH1F* h_tube_fornoise,
int nTriggers,
float frequency);
95 std::vector<int>
GetNoisyTubes(TH1F* h_tube_fornoise, TH1F* h_tube,
const std::string& chamber,
int& validity);
98 std::vector<int>
GetDeadTubes(TH1F* h_tube,
int& validity, std::vector<int>& deadML_v, std::vector<int>& deadLayer_v,
99 std::vector<int>& deadMezz_v);
106 int getLastTubeInLayer(
int& firstTubeInLayer,
const std::string& hardware_name,
int totalTubes);
107 std::vector<TubeRange>
getLayerRanges(
const std::string& hardware_name,
int totalTubes);
108 int getLastTubeInML(
int& firstTubeInML,
const std::string& hardware_name,
int totalTubes);
109 std::vector<TubeRange>
getMLRanges(
const std::string& hardware_name,
int totalTubes);
110 std::vector<TubeRange>
getMezzRanges(
const std::string& hardware_name,
int totalTubes,
int& groupsPerLayer);
111 int Get_ML_of_Mezz(
int& mezz,
const std::string& hardware_name,
int totalTubes);
113 std::vector<int>
FindDeadMezz(TH1F* h_tube,
const std::string& hardware_name, std::vector<int>& deadML_v);
114 std::vector<int>
FindDeadLayer(TH1F* h_tube,
const std::string& hardware_name, std::vector<int>& deadML_v);
115 std::vector<int>
FindDeadML(TH1F* h_tube,
const std::string& hardware_name);
116 int GetNumML(
const std::string& hardware_name);
120 int GetNumTubesPerML(
const std::string& hardware_name,
int layer,
int TotalTubes);
123 int Get_ML_of_Tube(
int& tubeID,
const std::string& hardware_name,
int totalTubes);
124 int Get_Layer_of_Tube(
int& tubeID,
const std::string& hardware_name,
int totalTubes);
126 std::vector<TubeRange>& tubeRanges,
int groupsPerLayer);
129 bool AinB(
int A, std::vector<int>& B);
130 bool AinB(
int A,
const std::vector<int>* B);
133 void FillPDF(
const std::string& inFilename, TH1F* hDead, TH1F* hNoise, TCanvas* c,
134 const std::vector<int>* deadTubes,
const std::vector<int>* deadASD,
const std::vector<int>* deadMEZZ,
135 const std::vector<int>* deadLayer,
const std::vector<int>* deadML,
136 const std::vector<int>* noisyTubes,
const std::vector<int>* noisyASD,
const std::vector<int>* noisyMEZZ,
137 const std::vector<int>* noisyLayer,
const std::vector<int>* noisyML,
138 int deadTubesChamberValidity,
int noisyTubesChamberValidity,
139 bool draw_Mezz_L_ML_guidlines,
bool draw_mean,
bool draw_masked_tubes,
bool separate_dead_noisy_histos,
140 bool draw_validity_message,
bool draw_histo_if_nothing_to_report);
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)