|
|
Go to the documentation of this file.
104 <<
" Output: " <<
outFile_ <<
" Usage of TestNumberingScheme " <<
scheme_;
113 double my_pi = 3.1415926;
116 meAllNHit_ = ibooker.
book1D(
"Hit01",
"Number of Hits in HCal", 1000, 0., 5000.);
120 meHBNHit_ = ibooker.
book1D(
"Hit05",
"Number of Hits in HB", 1000, 0., 5000.);
121 meHENHit_ = ibooker.
book1D(
"Hit06",
"Number of Hits in HE", 1000, 0., 5000.);
122 meHONHit_ = ibooker.
book1D(
"Hit07",
"Number of Hits in HO", 1000, 0., 5000.);
123 meHFNHit_ = ibooker.
book1D(
"Hit08",
"Number of Hits in HF", 1000, 0., 5000.);
152 mePMTHit_ = ibooker.
book1D(
"Hit37",
"Number of Hit in PMT", 1000, 0., 1000.);
165 mePhiHLay_ = ibooker.
book1D(
"Lay03",
"Phi of the Hits", 100, -my_pi, my_pi);
170 meEtaPhi_ = ibooker.
book2D(
"Lay08",
"Phi%Eta of the Hits", 100, -5., 5., 100, -my_pi, my_pi);
178 sprintf(
name,
"Layl%d",
nn);
180 sprintf(
title,
"Energy deposit in Layer %d",
i);
183 meLngLay_ = ibooker.
book1D(
"Lay13",
"Lonitudinal Shower Profile", 20, 0, 20.);
186 sprintf(
name,
"Layl%d",
nn);
188 sprintf(
title,
"Energy deposit in Depth %d",
i);
205 meHoRNxN_ = ibooker.
book1D(
"NxN03",
"Energy in HO (NxN)r", 100, 0., 200.);
207 meEcalNxN_ = ibooker.
book1D(
"NxN05",
"Energy in ECal (NxN)", 100, 0., 200.);
208 meHcalNxN_ = ibooker.
book1D(
"NxN06",
"Energy in HCal (NxN)", 100, 0., 200.);
209 meHoNxN_ = ibooker.
book1D(
"NxN07",
"Energy in HO (NxN)", 100, 0., 200.);
211 meEiNxN_ = ibooker.
book1D(
"NxN09",
"Energy of Hits in (NxN)", 100, 0., 1.);
212 meTiNxN_ = ibooker.
book1D(
"NxN10",
"Time of Hits in (NxN)", 100, 0., 400.);
213 meTrNxN_ = ibooker.
book1D(
"NxN11",
"Dist. of Hits in (NxN)", 100, 0., 1.);
219 meTJet_ = ibooker.
book1D(
"Jet02",
"T of Hits", 100, 0., 200.);
220 meEJet_ = ibooker.
book1D(
"Jet03",
"E of Hits", 100, 0., 200.);
221 meEcalJet_ = ibooker.
book1D(
"Jet04",
"Ecal Energy (First Jet)", 100, 0., 200.);
222 meHcalJet_ = ibooker.
book1D(
"Jet05",
"Hcal Energy (First Jet)", 100, 0., 200.);
223 meHoJet_ = ibooker.
book1D(
"Jet06",
"Ho Energy (First Jet)", 100, 0., 200.);
224 meEtotJet_ = ibooker.
book1D(
"Jet07",
"Total Energy(First Jet)", 100, 0., 200.);
225 meEcHcJet_ = ibooker.
book2D(
"Jet08",
"Energy in Hcal% Ecal", 100, 0., 200., 100, 0., 200.);
238 edm::LogVerbatim(
"HcalHitValid") <<
"Run = " <<
e.id().run() <<
" Event = " <<
e.id().event();
240 std::vector<PCaloHit> caloHits;
246 bool getHits =
false;
253 bool getLayer =
false;
267 bool getJets =
false;
274 edm::LogVerbatim(
"HcalHitValid") <<
"HcalValidation: Input flags Hits " << getHits <<
", Layer " << getLayer
275 <<
", NxN " << getNxN <<
", Jets " << getJets;
278 caloHits.insert(caloHits.end(), hitsHcal->begin(), hitsHcal->end());
279 edm::LogVerbatim(
"HcalHitValid") <<
"HcalValidation: Hit buffer " << caloHits.size();
292 int nHit =
hits.size();
293 int nHB = 0, nHE = 0, nHO = 0, nHF = 0, nPMT = 0, nBad1 = 0, nBad2 = 0, nBad = 0;
294 for (
int i = 0;
i < nHit;
i++) {
297 unsigned int id_ =
hits[
i].id();
301 subdet = (id_ >> 28) & 15;
302 depth = (id_ >> 26) & 3;
304 int zside = ((id_ & 0x100000) ? (1) : (-1));
310 subdet =
id.subdet();
315 uint16_t depth_ =
hits[
i].depth();
316 double energyEM =
hits[
i].energyEM();
317 double energyHad =
hits[
i].energyHad();
319 <<
" Sub " << subdet <<
" depth " <<
depth <<
" " << depth_ <<
" Eta " <<
eta
320 <<
" Phi " <<
phi <<
" E " <<
energy <<
"(EM " << energyEM <<
", Had " << energyHad
321 <<
") time " <<
time;
325 }
else if (subdet == static_cast<int>(
HcalEndcap)) {
327 }
else if (subdet == static_cast<int>(
HcalOuter)) {
329 }
else if (subdet == static_cast<int>(
HcalForward)) {
344 if (det == 4 && depth_ == 0) {
358 }
else if (subdet == static_cast<int>(
HcalEndcap)) {
364 }
else if (subdet == static_cast<int>(
HcalOuter)) {
370 }
else if (subdet == static_cast<int>(
HcalForward)) {
377 }
else if (det == 0 && subdet == static_cast<int>(
HcalForward)) {
396 edm::LogVerbatim(
"HcalHitValid") <<
"HcalHitValidation::analyzeHits: HB " << nHB <<
" HE " << nHE <<
" HO " << nHO
397 <<
" HF " << nHF <<
" PMT " << nPMT <<
" Bad " << nBad <<
" All " << nHit;
403 std::vector<float> idHits = infoLayer->
idHit();
404 std::vector<float> phiHits = infoLayer->
phiHit();
405 std::vector<float> etaHits = infoLayer->
etaHit();
406 std::vector<float> layerHits = infoLayer->
layerHit();
407 std::vector<float> eHits = infoLayer->
eHit();
408 std::vector<float> tHits = infoLayer->
tHit();
413 int id = (
int)(idHits[
j]);
421 edm::LogVerbatim(
"HcalHitValid") <<
"HcalHitValidation::analyzeLayer:Hit subdet = " <<
id <<
" lay = " <<
layer;
442 std::vector<float> eDepth = infoLayer->
edepth();
458 double eHO = infoLayer->
eho();
459 double eHBHE = infoLayer->
ehbhe();
460 double elongHF = infoLayer->
elonghf();
461 double eshortHF = infoLayer->
eshorthf();
462 double eEcalHF = infoLayer->
eecalhf();
463 double eHcalHF = infoLayer->
ehcalhf();
472 edm::LogVerbatim(
"HcalHitValid") <<
"HcalHitValidation::analyzeLayer: eHO " << eHO <<
" eHBHE = " << eHBHE
473 <<
" elongHF = " << elongHF <<
" eshortHF = " << eshortHF
474 <<
" eEcalHF = " << eEcalHF <<
" eHcalHF = " << eHcalHF;
479 double ecalNxNr = infoNxN->
ecalnxnr();
480 double hcalNxNr = infoNxN->
hcalnxnr();
481 double hoNxNr = infoNxN->
honxnr();
482 double etotNxNr = infoNxN->
etotnxnr();
484 double ecalNxN = infoNxN->
ecalnxn();
485 double hcalNxN = infoNxN->
hcalnxn();
486 double hoNxN = infoNxN->
honxn();
487 double etotNxN = infoNxN->
etotnxn();
499 int nIxI = infoNxN->
nnxn();
500 std::vector<float> idIxI = infoNxN->
idnxn();
501 std::vector<float> eIxI = infoNxN->
enxn();
502 std::vector<float> tIxI = infoNxN->
tnxn();
504 for (
int j = 0;
j < nIxI;
j++)
511 edm::LogVerbatim(
"HcalHitValid") <<
"HcalHitValidation::analyzeNxN: " << nIxI
512 <<
" hits in NxN analysis; Total Energy " << etotNxN <<
"/" << etotNxNr;
517 int nJetHits = infoJets->
njethit();
519 std::vector<float> rJetHits = infoJets->
jethitr();
520 std::vector<float> tJetHits = infoJets->
jethitt();
521 std::vector<float> eJetHits = infoJets->
jethite();
523 double ecalJet = infoJets->
ecaljet();
524 double hcalJet = infoJets->
hcaljet();
525 double hoJet = infoJets->
hojet();
526 double etotJet = infoJets->
etotjet();
528 double detaJet = infoJets->
detajet();
529 double dphiJet = infoJets->
dphijet();
530 double drJet = infoJets->
drjet();
531 double dijetM = infoJets->
dijetm();
533 for (
int j = 0;
j < nJetHits;
j++) {
551 int nJets = infoJets->
njet();
552 std::vector<float> jetE = infoJets->
jete();
556 for (
int j = 0;
j < nJets;
j++) {
561 edm::LogVerbatim(
"HcalHitValid") <<
"HcalHitValidation::analyzeJets: " << nJets <<
" jets with " << nJetHits
562 <<
" hits in the leading jet\n"
563 <<
" d(Eta) = " << detaJet <<
" d(Phi) = " << dphiJet <<
" d(R) = " << drJet
564 <<
" diJet Mass = " << dijetM;
MonitorElement * meAllNHit_
MonitorElement * meSubdetHit_
void analyzeJets(edm::Handle< PHcalValidInfoJets > &)
MonitorElement * meHoNxN_
std::vector< float > jethite() const
MonitorElement * meHBTimHit_
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< float > enxn() const
edm::EDGetTokenT< PHcalValidInfoJets > tok_iJ_
MonitorElement * meHitELay_
MonitorElement * meBadIdHit_
MonitorElement * meHitHLay_
MonitorElement * meDetaJet_
MonitorElement * meEHFEmLay_
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * meEtaHLay_
MonitorElement * mePMTDepHit_
MonitorElement * meTimeWHit_
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meEneLay_[nLayersMAX]
Log< level::Info, false > LogInfo
MonitorElement * meHFEtaHit_
std::vector< float > tnxn() const
MonitorElement * meHFEneHit_
MonitorElement * meEtotJet_
MonitorElement * mePMTEtaHit_
MonitorElement * meEtotNxN_
MonitorElement * meHBDepHit_
void analyzeNxN(edm::Handle< PHcalValidInfoNxN > &)
MonitorElement * mePMTEn1Hit_
MonitorElement * meBadDetHit_
MonitorElement * meHcalNxN_
MonitorElement * meTiNxN_
MonitorElement * meHENHit_
edm::EDGetTokenT< edm::PCaloHitContainer > tok_hh_
std::vector< float > tHit() const
MonitorElement * meHOEneHit_
edm::EDGetTokenT< PHcalValidInfoLayer > tok_iL_
MonitorElement * meTrNxN_
MonitorElement * meHoJet_
MonitorElement * meEHBHELay_
std::vector< float > eHit() const
MonitorElement * meEFibSLay_
#define DEFINE_FWK_MODULE(type)
MonitorElement * meEtaPhi_
std::vector< float > phiHit() const
std::vector< float > edepth() const
std::vector< float > jethitr() const
const caConstants::TupleMultiplicity *__restrict__ const HitsOnGPU *__restrict__ double *__restrict__ float *__restrict__ double *__restrict__ uint32_t nHits
MonitorElement * meHOPhiHit_
MonitorElement * mePMTPhiHit_
MonitorElement * mePhiHit_
MonitorElement * meTimWLay_
std::vector< float > idHit() const
MonitorElement * meMassJet_
std::vector< float > idnxn() const
MonitorElement * meHETimHit_
MonitorElement * mePhiHLay_
MonitorElement * meHBEtaHit_
MonitorElement * meEneHLay_
static const int nDepthsMAX
~HcalHitValidation() override
void analyzeHits(std::vector< PCaloHit > &)
constexpr std::array< uint8_t, layerIndexSize > layer
MonitorElement * meEneDLay_
MonitorElement * meLngLay_
MonitorElement * meHBNHit_
std::vector< float > etaHit() const
MonitorElement * meHoRNxN_
MonitorElement * meHEEneHit_
MonitorElement * meLayerLay_
MonitorElement * meBadSubHit_
edm::EDGetTokenT< PHcalValidInfoNxN > tok_iN_
MonitorElement * meEtotLay_
MonitorElement * meHFTimHit_
void analyzeLayer(edm::Handle< PHcalValidInfoLayer > &)
std::vector< float > jeteta() const
void analyze(const edm::Event &e, const edm::EventSetup &c) override
MonitorElement * meDphiJet_
MonitorElement * meHFNHit_
std::vector< float > layerHit() const
HcalHitValidation(const edm::ParameterSet &ps)
MonitorElement * meHEEtaHit_
static const int nLayersMAX
MonitorElement * meHcalJet_
MonitorElement * mePMTHit_
MonitorElement * meTimeHit_
MonitorElement * meHOTimHit_
MonitorElement * meEneLLay_
MonitorElement * meEHFHdLay_
MonitorElement * meEFibLLay_
MonitorElement * meHitTLay_
MonitorElement * meEcalNxN_
Log< level::Info, true > LogVerbatim
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * meDepthHit_
std::vector< float > elayer() const
MonitorElement * meEcalJet_
MonitorElement * meDepLay_[nDepthsMAX]
MonitorElement * meDepHlay_
MonitorElement * meEHOLay_
MonitorElement * meEtaJet_
MonitorElement * meEcHcJet_
MonitorElement * meHODepHit_
MonitorElement * meHBEneHit_
MonitorElement * meHcalRNxN_
MonitorElement * meEtotRNxN_
MonitorElement * meDetectHit_
std::vector< float > jetphi() const
MonitorElement * meEneJet_
MonitorElement * mePhiJet_
MonitorElement * meDrJet_
MonitorElement * meEiNxN_
std::vector< float > jethitt() const
MonitorElement * meHOEtaHit_
MonitorElement * meEtaHit_
MonitorElement * mePMTTimHit_
MonitorElement * meHBPhiHit_
MonitorElement * meTimHLay_
MonitorElement * mePMTEn2Hit_
MonitorElement * meHONHit_
MonitorElement * meHEDepHit_
std::vector< float > jete() const
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
MonitorElement * meEcalRNxN_
MonitorElement * meEnergyHit_
MonitorElement * meHFPhiHit_
MonitorElement * meHEPhiHit_
MonitorElement * meHFDepHit_