|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef dqutilsMdtDeadNoisy_h
6 #define dqutilsMdtDeadNoisy_h
23 if ((
x >=
x1) && (
x <=
x2))
return true;
36 bool find(std::vector<int>&
v,
unsigned int x);
38 void getNotBetweenList(std::vector<int>&
v, std::vector<int>& surely_v, std::vector<int>& betweenlist);
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,
43 void getNotInDeadMezz(std::vector<int>&
v, std::vector<int>& deadMezz_v,
const TString& hardware_name,
57 void getNoBetweens(
TH1F*
h, std::vector<int>& no_dead, std::vector<int>& no_betweens, std::vector<int>& betweenlist,
63 std::vector<int>& no_betweens_middle_aggressive);
65 std::vector<int>& no_betweens_lowmiddle_aggressive);
67 std::vector<int>& no_betweens_lowmiddle_aggressive);
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);
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);
87 std::vector<int>& no_betweens_middle_aggressive );
92 TH1F* EffVSNoise_num,
TH1F* EffVSNoise_den,
TH1F* EffVSNoise_ADCCut_num,
93 TH1F* EffVSNoise_ADCCut_den,
TH1F* EffVSBkd_num,
TH1F* EffVSBkd_den);
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);
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);
114 std::vector<int>
FindDeadMezz(
TH1F* h_tube,
const TString& hardware_name, std::vector<int>& deadML_v);
115 std::vector<int>
FindDeadLayer(
TH1F* h_tube,
const TString& hardware_name, std::vector<int>& deadML_v);
116 std::vector<int>
FindDeadML(
TH1F* h_tube,
const TString& hardware_name);
117 int GetNumML(
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);
127 std::vector<TubeRange>& tubeRanges,
int groupsPerLayer);
130 bool AinB(
int A, std::vector<int>& B);
131 bool AinB(
int A,
const std::vector<int>* B);
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);
bool find(std::vector< int > &v, unsigned int x)
void getNotInDeadMezz(std::vector< int > &v, std::vector< int > &deadMezz_v, const TString &hardware_name, int totalTubes)
int Get_ML_of_Mezz_degenerate(int &mezz, const TString &hardware_name, int totalTubes)
int GetNumNonMaskedTubes(TH1F *h_tube)
void getNoisyList2(TH1F *h, std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_middle_aggressive, double num_pct, std::vector< int > &noisylist)
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="")
void getAllBinsInRangeBelowCutoff(TH1F *h, std::vector< int > &v, int crustCutoff, int x1, int x2)
void getBins(TH1F *h, std::vector< int > &indices, std::vector< int > &content)
int GetNumTubesPerML(const TString &hardware_name, int layer, int TotalTubes)
void getAllTubes(TH1F *h, std::vector< int > &v)
void removeNonContiguous(std::vector< int > &betweenlist, unsigned int sz)
int getLastTubeInLayer(int &firstTubeInLayer, const TString &hardware_name, int totalTubes)
std::pair< long int, long int > indices
std::vector< int > GetNoisyTubes(TH1F *h_tube_fornoise, int nTriggers, float frequency)
double getStandardDevFromMean_pos(std::vector< int > &v, double mean)
void getNonEmptyNonNoisyTubes(TH1F *h_tube_fornoise, TH1F *h_tube, std::vector< int > &non_dead_non_noisy)
int GetNumTubesPerMezz(const TString &hardware_name, int mezz)
void getNoBetweens_lowmiddle_aggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_lowmiddle_aggressive)
int GetNumLayersPerML(const TString &hardware_name)
void getNoBetweens(TH1F *h, std::vector< int > &no_dead, std::vector< int > &no_betweens, std::vector< int > &betweenlist, float minBinContent)
std::vector< TubeRange > getLayerRanges(const TString &hardware_name, int totalTubes)
std::vector< int > GetDeadTubes(TH1F *h_tube, int &validity, std::vector< int > &deadML_v, std::vector< int > &deadLayer_v, std::vector< int > &deadMezz_v)
int Get_ML_of_Layer(int &layer, const TString &hardware_name)
std::vector< TubeRange > getMezzRanges(const TString &hardware_name, int totalTubes, int &groupsPerLayer)
int GetNumTubesPerLayer(const TString &hardware_name, int ML, int TotalTubes)
void removeZeros(std::vector< int > &v)
void getAllBins(TH1F *h, std::vector< int > &v)
std::vector< int > FindDeadMezz(TH1F *h_tube, const TString &hardware_name, std::vector< int > &deadML_v)
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)
double getStandardDevFromMean(std::vector< int > &v, double mean)
void getNotBetweenList(std::vector< int > &v, std::vector< int > &surely_v, std::vector< int > &betweenlist)
void getNotMasked(std::vector< int > &v, TH1F *h)
cut
This script demonstrates how to call a C++ class from Python Also how to use PyROOT is shown.
void getNonEmptyBins(TH1F *h, std::vector< int > &v)
void getSurelyDeadList(TH1F *h, std::vector< int > &v, std::vector< int > &betweenlist)
void getNotInDeadLayer(std::vector< int > &v, std::vector< int > &deadLayer_v, const TString &hardware_name, int totalTubes)
void getNoBetweens_middle_aggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_middle_aggressive)
double getMean_WithCut(std::vector< int > &v, double cut)
std::vector< TubeRange > getMLRanges(const TString &hardware_name, int totalTubes)
void getNonEmptyTubes(TH1F *h, std::vector< int > &v)
int Get_Mezz_of_Tube(int &tubeID, const TString &hardware_name, std::vector< TubeRange > &tubeRanges, int groupsPerLayer)
double GetStandardDevFromHist(TH1F *h_tube, double mean)
void getNoBetweens_highmiddle_aggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_lowmiddle_aggressive)
int Get_Layer_of_Tube(int &tubeID, const TString &hardware_name, int totalTubes)
double getStandardDevFromMean_neg(std::vector< int > &v, double mean)
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)
bool AinB(int A, std::vector< int > &B)
int getLastTubeInML(int &firstTubeInML, const TString &hardware_name, int totalTubes)
int GetNumML(const TString &hardware_name)
int Get_ML_of_Mezz(int &mezz, const TString &hardware_name, int totalTubes)
std::vector< int > FindDeadLayer(TH1F *h_tube, const TString &hardware_name, std::vector< int > &deadML_v)
void getNotInDeadML(std::vector< int > &v, std::vector< int > &deadML_v, const TString &hardware_name, int totalTubes)
void getNoBetweens_middle_semiaggressive(std::vector< int > no_betweens, std::vector< int > &no_betweens_middle_aggressive)
void getAllUnmaskedBinsInRangeBelowCrustCutoff(TH1F *h, std::vector< int > &v, int crustCutoff, int x1, int x2)
bool validityCheckNoise(std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_middle_aggressive)
void getIneffList2(TH1F *h, std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_lowmiddle_aggressive, double num_pct, std::vector< int > &inefflist)
std::vector< int > FindDeadML(TH1F *h_tube, const TString &hardware_name)
bool validityCheckDead(std::vector< int > &no_betweens_middle, std::vector< int > &no_betweens_middle_aggressive)
double GetMeanFromHist(TH1F *h_tube)
void displayList(std::vector< int > &v)
double getMean(std::vector< T > &v)
void getDeadList(TH1F *h, std::vector< int > &v)
std::vector< int > GetMaskedTubesForDead(TH1F *h_tube)
std::vector< int > GetMaskedTubesForNoisy(TH1F *h_tube_fornoise)
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
void getNoBetweens_lowmiddle(std::vector< int > no_betweens, std::vector< int > &no_betweens_lowmiddle)
void getNoBetweens_middle(std::vector< int > no_betweens, std::vector< int > &no_betweens_middle)
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)
void getAllBinsInRange(TH1F *h, std::vector< int > &v, int x1, int x2)
int GetNumMezz(TH1F *h_tube)
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)
std::vector< int > GetNoisyTubes_WithoutForNoise(TH1F *h_tube, int &validity, TString chamber)
int Get_ML_of_Tube(int &tubeID, const TString &hardware_name, int totalTubes)