20 MEP me_rollEfficiencyBarrel_eff = booker.
book1D(
"RollEfficiencyBarrel_eff",
"Roll efficiency in Barrel;Efficiency [%]", 50+2, -2, 100+2);
21 MEP me_rollEfficiencyEndcap_eff = booker.
book1D(
"RollEfficiencyEndcap_eff",
"Roll efficiency in Endcap;Efficiency [%]", 50+2, -2, 100+2);
22 MEP me_rollEfficiencyStatCutOffBarrel_eff = booker.
book1D(
"RollEfficiencyCutOffBarrel_eff",
"Roll efficiency in Barrel without low stat chamber;Efficiency [%]", 50+2, -2, 100+2);
23 MEP me_rollEfficiencyStatCutOffEndcap_eff = booker.
book1D(
"RollEfficiencyCutOffEndcap_eff",
"Roll efficiency in Endcap without low stat chamber;Efficiency [%]", 50+2, -2, 100+2);
25 const double maxNoise = 1
e-7;
26 MEP me_rollNoiseBarrel_noise = booker.
book1D(
"RollNoiseBarrel_noise",
"Roll noise in Barrel;Noise level [Event^{-1}cm^{-2}]", 25+2, -maxNoise/25, maxNoise+maxNoise/25);
27 MEP me_rollNoiseEndcap_noise = booker.
book1D(
"RollNoiseEndcap_noise",
"Roll noise in Endcap;Noise level [Event^{-1}cm^{-2}]", 25+2, -maxNoise/25, maxNoise+maxNoise/25);
29 MEP me_matchOccupancyBarrel_detId = getter.
get(
subDir_+
"/Occupancy/MatchOccupancyBarrel_detId");
30 MEP me_matchOccupancyEndcap_detId = getter.
get(
subDir_+
"/Occupancy/MatchOccupancyEndcap_detId");
31 MEP me_refOccupancyBarrel_detId = getter.
get(
subDir_+
"/Occupancy/RefOccupancyBarrel_detId");
32 MEP me_refOccupancyEndcap_detId = getter.
get(
subDir_+
"/Occupancy/RefOccupancyEndcap_detId");
34 if ( me_matchOccupancyBarrel_detId and me_refOccupancyBarrel_detId )
36 TH1* h_matchOccupancyBarrel_detId = me_matchOccupancyBarrel_detId->
getTH1();
37 TH1* h_refOccupancyBarrel_detId = me_refOccupancyBarrel_detId->getTH1();
39 for (
int bin = 1, nBin = h_matchOccupancyBarrel_detId->GetNbinsX();
bin <= nBin; ++
bin )
41 const double nRec = h_matchOccupancyBarrel_detId->GetBinContent(
bin);
42 const double nRef = h_refOccupancyBarrel_detId->GetBinContent(
bin);
44 const double eff = nRef ? nRec/nRef*100 : -1;
46 me_rollEfficiencyBarrel_eff->
Fill(eff);
47 if ( nRef >= 20 ) me_rollEfficiencyStatCutOffBarrel_eff->
Fill(eff);
51 if ( me_matchOccupancyEndcap_detId and me_refOccupancyEndcap_detId )
53 TH1* h_matchOccupancyEndcap_detId = me_matchOccupancyEndcap_detId->
getTH1();
54 TH1* h_refOccupancyEndcap_detId = me_refOccupancyEndcap_detId->getTH1();
56 for (
int bin = 1, nBin = h_matchOccupancyEndcap_detId->GetNbinsX();
bin <= nBin; ++
bin )
58 const double nRec = h_matchOccupancyEndcap_detId->GetBinContent(
bin);
59 const double nRef = h_refOccupancyEndcap_detId->GetBinContent(
bin);
61 const double eff = nRef ? nRec/nRef*100 : -1;
63 me_rollEfficiencyEndcap_eff->
Fill(eff);
64 if ( nRef >= 20 ) me_rollEfficiencyStatCutOffEndcap_eff->
Fill(eff);
68 MEP me_eventCount = getter.
get(
subDir_+
"/Occupancy/EventCount");
69 const double nEvent = me_eventCount ? me_eventCount->
getTH1()->GetBinContent(1) : 1;
70 MEP me_noiseOccupancyBarrel_detId = getter.
get(
subDir_+
"/Occupancy/NoiseOccupancyBarrel_detId");
71 MEP me_rollAreaBarrel_detId = getter.
get(
subDir_+
"/Occupancy/RollAreaBarrel_detId");
72 if ( me_noiseOccupancyBarrel_detId and me_rollAreaBarrel_detId )
74 TH1* h_noiseOccupancyBarrel_detId = me_noiseOccupancyBarrel_detId->
getTH1();
75 TH1* h_rollAreaBarrel_detId = me_rollAreaBarrel_detId->getTH1();
77 for (
int bin = 1, nBin = h_noiseOccupancyBarrel_detId->GetNbinsX();
bin <= nBin; ++
bin )
79 const double noiseCount = h_noiseOccupancyBarrel_detId->GetBinContent(
bin);
80 const double area = h_rollAreaBarrel_detId->GetBinContent(
bin);
81 const double noiseLevel = area > 0 ? noiseCount/area/nEvent : 0;
82 if ( noiseLevel == 0. ) me_rollNoiseBarrel_noise->
Fill(-maxNoise/50);
83 else me_rollNoiseBarrel_noise->
Fill(
std::min(noiseLevel, maxNoise));
87 MEP me_noiseOccupancyEndcap_detId = getter.
get(
subDir_+
"/Occupancy/NoiseOccupancyEndcap_detId");
88 MEP me_rollAreaEndcap_detId = getter.
get(
subDir_+
"/Occupancy/RollAreaEndcap_detId");
89 if ( me_noiseOccupancyEndcap_detId and me_rollAreaEndcap_detId )
91 TH1* h_noiseOccupancyEndcap_detId = me_noiseOccupancyEndcap_detId->
getTH1();
92 TH1* h_rollAreaEndcap_detId = me_rollAreaEndcap_detId->getTH1();
94 for (
int bin = 1, nBin = h_noiseOccupancyEndcap_detId->GetNbinsX();
bin <= nBin; ++
bin )
96 const double noiseCount = h_noiseOccupancyEndcap_detId->GetBinContent(
bin);
97 const double area = h_rollAreaEndcap_detId->GetBinContent(
bin);
98 const double noiseLevel = area > 0 ? noiseCount/area/nEvent : 0;
99 if ( noiseLevel == 0 ) me_rollNoiseEndcap_noise->
Fill(-maxNoise/50);
100 else me_rollNoiseEndcap_noise->
Fill(
std::min(noiseLevel, maxNoise));
MonitorElement * get(const std::string &path)
MonitorElement * book1D(Args &&...args)
void setCurrentFolder(const std::string &fullpath)