19 EEuncalibrechitCollection_token_ =
27 meEEUncalibRecHitsOccupancyPlus_ =
nullptr;
28 meEEUncalibRecHitsOccupancyMinus_ =
nullptr;
29 meEEUncalibRecHitsAmplitude_ =
nullptr;
30 meEEUncalibRecHitsPedestal_ =
nullptr;
31 meEEUncalibRecHitsJitter_ =
nullptr;
32 meEEUncalibRecHitsChi2_ =
nullptr;
33 meEEUncalibRecHitMaxSampleRatio_ =
nullptr;
34 meEEUncalibRecHitsOccupancyPlusGt60adc_ =
nullptr;
35 meEEUncalibRecHitsOccupancyMinusGt60adc_ =
nullptr;
36 meEEUncalibRecHitsAmplitudeGt60adc_ =
nullptr;
37 meEEUncalibRecHitsPedestalGt60adc_ =
nullptr;
38 meEEUncalibRecHitsJitterGt60adc_ =
nullptr;
39 meEEUncalibRecHitsChi2Gt60adc_ =
nullptr;
40 meEEUncalibRecHitMaxSampleRatioGt60adc_ =
nullptr;
41 meEEUncalibRecHitsAmpFullMap_ =
nullptr;
42 meEEUncalibRecHitsPedFullMap_ =
nullptr;
54 sprintf(histo,
"EE+ Occupancy");
55 meEEUncalibRecHitsOccupancyPlus_ = ibooker.
book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
57 sprintf(histo,
"EE- Occupancy");
58 meEEUncalibRecHitsOccupancyMinus_ = ibooker.
book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
60 sprintf(histo,
"EE Amplitude");
61 meEEUncalibRecHitsAmplitude_ = ibooker.
book1D(histo, histo, 201, -20., 4000.);
63 sprintf(histo,
"EE Pedestal");
64 meEEUncalibRecHitsPedestal_ = ibooker.
book1D(histo, histo, 50, 190., 210.);
66 sprintf(histo,
"EE Jitter");
67 meEEUncalibRecHitsJitter_ = ibooker.
book1D(histo, histo, 100, 0., 100.);
69 sprintf(histo,
"EE Chi2");
70 meEEUncalibRecHitsChi2_ = ibooker.
book1D(histo, histo, 100, 18000., 22000.);
72 sprintf(histo,
"EE RecHit Max Sample Ratio");
73 meEEUncalibRecHitMaxSampleRatio_ = ibooker.
book1D(histo, histo, 120, 0.90, 1.05);
75 sprintf(histo,
"EE+ Occupancy gt 60 adc counts");
76 meEEUncalibRecHitsOccupancyPlusGt60adc_ = ibooker.
book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
78 sprintf(histo,
"EE- Occupancy gt 60 adc counts");
79 meEEUncalibRecHitsOccupancyMinusGt60adc_ = ibooker.
book2D(histo, histo, 100, 0., 100., 100, 0., 100.);
81 sprintf(histo,
"EE Amplitude gt 60 adc counts");
82 meEEUncalibRecHitsAmplitudeGt60adc_ = ibooker.
book1D(histo, histo, 200, 0., 4000.);
84 sprintf(histo,
"EE Pedestal gt 60 adc counts");
85 meEEUncalibRecHitsPedestalGt60adc_ = ibooker.
book1D(histo, histo, 50, 190., 210.);
87 sprintf(histo,
"EE Jitter gt 60 adc counts");
88 meEEUncalibRecHitsJitterGt60adc_ = ibooker.
book1D(histo, histo, 100, 0., 100.);
90 sprintf(histo,
"EE Chi2 gt 60 adc counts");
91 meEEUncalibRecHitsChi2Gt60adc_ = ibooker.
book1D(histo, histo, 100, 18000., 22000.);
93 sprintf(histo,
"EE RecHit Max Sample Ratio gt 60 adc counts");
94 meEEUncalibRecHitMaxSampleRatioGt60adc_ = ibooker.
book1D(histo, histo, 120, 0.90, 1.05);
96 sprintf(histo,
"EE Amplitude Full Map");
97 meEEUncalibRecHitsAmpFullMap_ = ibooker.
bookProfile2D(histo, histo, 100, 0., 100., 100, 0., 100., 200, 0., 4000.);
99 sprintf(histo,
"EE Pedestal Full Map");
100 meEEUncalibRecHitsPedFullMap_ = ibooker.
bookProfile2D(histo, histo, 100, 0., 100., 100, 0., 100., 50, 194., 201.);
106 e.
getByToken(EEuncalibrechitCollection_token_, EcalUncalibRecHitEE);
107 if (EcalUncalibRecHitEE.
isValid()) {
108 EEUncalibRecHit = EcalUncalibRecHitEE.
product();
113 bool skipDigis =
false;
116 e.
getByToken(EEdigiCollection_token_, EcalDigiEE);
129 uncalibRecHit != EEUncalibRecHit->
end();
133 int mySide = EEid.
zside();
137 if (meEEUncalibRecHitsOccupancyPlus_)
138 meEEUncalibRecHitsOccupancyPlus_->Fill(EEid.
ix(), EEid.
iy());
141 if (meEEUncalibRecHitsOccupancyMinus_)
142 meEEUncalibRecHitsOccupancyMinus_->Fill(EEid.
ix(), EEid.
iy());
144 if (meEEUncalibRecHitsAmplitude_)
145 meEEUncalibRecHitsAmplitude_->Fill(uncalibRecHit->amplitude());
146 if (meEEUncalibRecHitsPedestal_)
147 meEEUncalibRecHitsPedestal_->Fill(uncalibRecHit->pedestal());
148 if (meEEUncalibRecHitsJitter_)
149 meEEUncalibRecHitsJitter_->Fill(uncalibRecHit->jitter());
150 if (meEEUncalibRecHitsChi2_)
151 meEEUncalibRecHitsChi2_->Fill(uncalibRecHit->chi2());
152 if (meEEUncalibRecHitsAmpFullMap_)
153 meEEUncalibRecHitsAmpFullMap_->Fill(EEid.
ix(), EEid.
iy(), uncalibRecHit->amplitude());
154 if (meEEUncalibRecHitsPedFullMap_)
155 meEEUncalibRecHitsPedFullMap_->Fill(EEid.
ix(), EEid.
iy(), uncalibRecHit->pedestal());
158 if (uncalibRecHit->amplitude() > 60) {
160 if (meEEUncalibRecHitsOccupancyPlusGt60adc_)
161 meEEUncalibRecHitsOccupancyPlusGt60adc_->Fill(EEid.
ix(), EEid.
iy());
164 if (meEEUncalibRecHitsOccupancyMinusGt60adc_)
165 meEEUncalibRecHitsOccupancyMinusGt60adc_->Fill(EEid.
ix(), EEid.
iy());
167 if (meEEUncalibRecHitsAmplitudeGt60adc_)
168 meEEUncalibRecHitsAmplitudeGt60adc_->Fill(uncalibRecHit->amplitude());
169 if (meEEUncalibRecHitsPedestalGt60adc_)
170 meEEUncalibRecHitsPedestalGt60adc_->Fill(uncalibRecHit->pedestal());
171 if (meEEUncalibRecHitsJitterGt60adc_)
172 meEEUncalibRecHitsJitterGt60adc_->Fill(uncalibRecHit->jitter());
173 if (meEEUncalibRecHitsChi2Gt60adc_)
174 meEEUncalibRecHitsChi2Gt60adc_->Fill(uncalibRecHit->chi2());
182 if (myDigi != EEDigi->
end()) {
185 double analogSample = thisSample.
adc();
186 if (eMax < analogSample) {
198 if (eMax > (*it).mean_x1 + 5 * (*it).rms_x1 && eMax != 0) {
200 if (meEEUncalibRecHitMaxSampleRatio_) {
201 meEEUncalibRecHitMaxSampleRatio_->Fill((uncalibRecHit->amplitude() + uncalibRecHit->pedestal()) / eMax);
204 if (meEEUncalibRecHitMaxSampleRatioGt60adc_ && (uncalibRecHit->amplitude() > 60)) {
205 meEEUncalibRecHitMaxSampleRatioGt60adc_->Fill((uncalibRecHit->amplitude() + uncalibRecHit->pedestal()) /
210 <<
"endcap, eMax = " << eMax <<
" Amplitude = " << uncalibRecHit->amplitude() + uncalibRecHit->pedestal();
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
EcalEndcapRecHitsValidation(const edm::ParameterSet &ps)
Constructor.
void bookHistograms(DQMStore::IBooker &i, edm::Run const &, edm::EventSetup const &) override
bool getByToken(EDGetToken token, Handle< PROD > &result) const
const self & getMap() const
void setCurrentFolder(std::string const &fullpath)
std::vector< T >::const_iterator const_iterator
void analyze(const edm::Event &e, const edm::EventSetup &c) override
Analyze.
const_iterator find(id_type i) const
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s")
Namespace of DDCMS conversion namespace.
const_iterator end() const
T const * product() const
std::vector< Item >::const_iterator const_iterator
boost::transform_iterator< IterHelp, boost::counting_iterator< int > > const_iterator
const_iterator end() const
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY)
const_iterator find(uint32_t rawId) const
const_iterator end() const
~EcalEndcapRecHitsValidation() override
Destructor.
T const * product() const
const_iterator begin() const
int adc() const
get the ADC sample (12 bits)