58 int TrackPtBin = iConfig.
getParameter<
int>(
"TrackPtBin");
59 double TrackPtMin = iConfig.
getParameter<
double>(
"TrackPtMin");
60 double TrackPtMax = iConfig.
getParameter<
double>(
"TrackPtMax");
71 double ThetaMin = iConfig.
getParameter<
double>(
"ThetaMin");
72 double ThetaMax = iConfig.
getParameter<
double>(
"ThetaMax");
75 double TrackQMin = iConfig.
getParameter<
double>(
"TrackQMin");
76 double TrackQMax = iConfig.
getParameter<
double>(
"TrackQMax");
78 int SeedDxyBin = iConfig.
getParameter<
int>(
"SeedDxyBin");
79 double SeedDxyMin = iConfig.
getParameter<
double>(
"SeedDxyMin");
80 double SeedDxyMax = iConfig.
getParameter<
double>(
"SeedDxyMax");
83 double SeedDzMin = iConfig.
getParameter<
double>(
"SeedDzMin");
84 double SeedDzMax = iConfig.
getParameter<
double>(
"SeedDzMax");
86 int SeedHitBin = iConfig.
getParameter<
int>(
"SeedHitBin");
87 double SeedHitMin = iConfig.
getParameter<
double>(
"SeedHitMin");
88 double SeedHitMax = iConfig.
getParameter<
double>(
"SeedHitMax");
91 double TCDxyMin = iConfig.
getParameter<
double>(
"TCDxyMin");
92 double TCDxyMax = iConfig.
getParameter<
double>(
"TCDxyMax");
95 double TCDzMin = iConfig.
getParameter<
double>(
"TCDzMin");
96 double TCDzMax = iConfig.
getParameter<
double>(
"TCDzMax");
99 double TCHitMin = iConfig.
getParameter<
double>(
"TCHitMin");
100 double TCHitMax = iConfig.
getParameter<
double>(
"TCHitMax");
109 std::vector<std::string> mvaProducers = iConfig.
getParameter<std::vector<std::string> >(
"MVAProducers");
122 histname =
"SeedPt_"+seedProducer.label() +
"_";
129 histname =
"SeedEta_"+seedProducer.label() +
"_";
136 histname =
"SeedPhi_"+seedProducer.label() +
"_";
143 histname =
"SeedPhiVsEta_"+seedProducer.label() +
"_";
150 histname =
"SeedTheta_"+seedProducer.label() +
"_";
157 histname =
"SeedQ_"+seedProducer.label() +
"_";
164 histname =
"SeedDxy_"+seedProducer.label() +
"_";
171 histname =
"SeedDz_"+seedProducer.label() +
"_";
178 histname =
"NumberOfRecHitsPerSeed_"+seedProducer.label() +
"_";
185 histname =
"NumberOfRecHitsPerSeedVsPhiProfile_"+seedProducer.label() +
"_";
192 histname =
"NumberOfRecHitsPerSeedVsEtaProfile_"+seedProducer.label() +
"_";
204 histname =
"TrackingRegionCandidatePt_"+seedProducer.label() +
"_";
211 histname =
"TrackingRegionCandidateEta_"+seedProducer.label() +
"_";
218 histname =
"TrackingRegionCandidatePhi_"+seedProducer.label() +
"_";
225 histname =
"TrackingRegionCandidatePhiVsEta_"+seedProducer.label() +
"_";
235 const auto candsBin = iConfig.
getParameter<
int>(
"SeedCandBin");
236 const auto candsMin = iConfig.
getParameter<
double>(
"SeedCandMin");
237 const auto candsMax = iConfig.
getParameter<
double>(
"SeedCandMax");
239 histname =
"SeedStoppingSource_"+seedProducer.label() +
"_";
240 seedStoppingSource = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, stopReasonSize, 0., stopReasonSize);
244 histname =
"StoppingSourceVsPhi_"+seedProducer.label() +
"_";
249 histname =
"StoppingSourceVsEta_"+seedProducer.label() +
"_";
254 histname =
"NumberOfTrajCandsPerSeed_"+seedProducer.label() +
"_";
259 histname =
"NumberOfTrajCandsPerSeedVsPhi_"+seedProducer.label() +
"_";
264 histname =
"NumberOfTrajCandsPerSeedVsEta_"+seedProducer.label() +
"_";
269 histname =
"SeedStoppingSourceVsNumberOfTrajCandsPerSeed_"+seedProducer.label() +
"_";
273 for(
unsigned int i=0;
i<stopReasonSize; ++
i) {
283 histname =
"StoppingSource_"+seedProducer.label() +
"_";
285 histname+CatagoryName,
287 0.,
double(StopReasonNameSize));
291 histname =
"StoppingSourceVSeta_"+seedProducer.label() +
"_";
293 histname+CatagoryName,
302 histname =
"StoppingSourceVSphi_"+seedProducer.label() +
"_";
304 histname+CatagoryName,
313 for (
size_t ibin=0; ibin<StopReasonNameSize; ibin++) {
327 histname =
"TrackCandPt_"+tcProducer.label() +
"_";
328 TrackCandPt = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, TrackPtBin, TrackPtMin, TrackPtMax);
332 histname =
"TrackCandEta_"+tcProducer.label() +
"_";
333 TrackCandEta = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, EtaBin, EtaMin, EtaMax);
337 histname =
"TrackCandPhi_"+tcProducer.label() +
"_";
338 TrackCandPhi = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, PhiBin, PhiMin, PhiMax);
343 histname =
"TrackCandTheta_"+tcProducer.label() +
"_";
344 TrackCandTheta = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, ThetaBin, ThetaMin, ThetaMax);
350 histname =
"TrackCandQ_"+tcProducer.label() +
"_";
351 TrackCandQ = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, TrackQBin, TrackQMin, TrackQMax);
355 histname =
"TrackCandDxy_"+tcProducer.label() +
"_";
356 TrackCandDxy = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, TCDxyBin, TCDxyMin, TCDxyMax);
360 histname =
"TrackCandDz_"+tcProducer.label() +
"_";
361 TrackCandDz = ibooker.
book1D(histname+CatagoryName, histname+CatagoryName, TCDzBin, TCDzMin, TCDzMax);
365 histname =
"NumberOfRecHitsPerTrackCand_"+tcProducer.label() +
"_";
370 histname =
"NumberOfRecHitsPerTrackCandVsPhiProfile_"+tcProducer.label() +
"_";
375 histname =
"NumberOfRecHitsPerTrackCandVsEtaProfile_"+tcProducer.label() +
"_";
381 histname =
"TrackCandPhiVsEta_"+tcProducer.label() +
"_";
382 TrackCandPhiVsEta = ibooker.
book2D(histname+CatagoryName, histname+CatagoryName, EtaBin, EtaMin, EtaMax, PhiBin, PhiMin, PhiMax);
387 for(
size_t i=1,
end=mvaProducers.size();
i<=
end; ++
i) {
388 auto num = std::to_string(
i);
397 pfix =
" (not loose-selected)";
399 histname =
"TrackMVA"+
num+
"HP_"+tcProducer.label() +
"_";
400 trackMVAsHP.push_back(ibooker.
book1D(histname+CatagoryName, histname+CatagoryName+pfix2, MVABin, MVAMin, MVAMax));
402 trackMVAsHP.back()->setAxisTitle(
"Number of tracks", 2);
404 histname =
"TrackMVA"+
num+
"HPVsPtProfile_"+tcProducer.label() +
"_";
405 trackMVAsHPVsPtProfile.push_back(ibooker.
bookProfile(histname+CatagoryName, histname+CatagoryName+pfix2, TrackPtBin, TrackPtMin, TrackPtMax, MVABin, MVAMin, MVAMax));
409 histname =
"TrackMVA"+
num+
"HPVsEtaProfile_"+tcProducer.label() +
"_";
415 histname =
"TrackMVA"+
num+
"_"+tcProducer.label() +
"_";
416 trackMVAs.push_back(ibooker.
book1D(histname+CatagoryName, histname+CatagoryName+pfix, MVABin, MVAMin, MVAMax));
417 trackMVAs.back()->setAxisTitle(
"Track selection MVA"+
num, 1);
418 trackMVAs.back()->setAxisTitle(
"Number of tracks", 2);
420 histname =
"TrackMVA"+
num+
"VsPtProfile_"+tcProducer.label() +
"_";
421 trackMVAsVsPtProfile.push_back(ibooker.
bookProfile(histname+CatagoryName, histname+CatagoryName+pfix, TrackPtBin, TrackPtMin, TrackPtMax, MVABin, MVAMin, MVAMax));
425 histname =
"TrackMVA"+
num+
"VsEtaProfile_"+tcProducer.label() +
"_";
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
MonitorElement * TrackCandPt
T getParameter(std::string const &) const
MonitorElement * seedStoppingSourceVsPhi
MonitorElement * numberOfTrajCandsPerSeed
MonitorElement * TrackingRegionCandidatePhiVsEta
MonitorElement * bookProfile(Args &&...args)
std::vector< MonitorElement * > trackMVAsHPVsEtaProfile
MonitorElement * TrackCandDz
std::vector< MonitorElement * > trackMVAsVsPtProfile
void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
MonitorElement * stoppingSourceVSphi
std::vector< MonitorElement * > trackMVAsVsEtaProfile
const double EtaMax[kNumberCalorimeter]
MonitorElement * TrackCandPhi
static const std::string StopReasonName[]
MonitorElement * TrackCandPhiVsEta
MonitorElement * TrackingRegionCandidatePt
MonitorElement * SeedTheta
static const std::string SeedStopReasonName[]
MonitorElement * NumberOfRecHitsPerTrackCandVsEtaProfile
MonitorElement * stoppingSource
MonitorElement * NumberOfRecHitsPerSeed
MonitorElement * NumberOfRecHitsPerSeedVsPhiProfile
MonitorElement * TrackCandDxy
const bool doAllSeedPlots
std::vector< MonitorElement * > trackMVAsHP
MonitorElement * TrackCandEta
MonitorElement * book1D(Args &&...args)
const double EtaMin[kNumberCalorimeter]
MonitorElement * numberOfTrajCandsPerSeedVsPhi
MonitorElement * numberOfTrajCandsPerSeedVsEta
std::vector< MonitorElement * > trackMVAs
MonitorElement * stoppingSourceVSeta
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
MonitorElement * TrackCandTheta
MonitorElement * TrackCandQ
MonitorElement * SeedPhiVsEta
std::vector< MonitorElement * > trackMVAsHPVsPtProfile
MonitorElement * TrackingRegionCandidateEta
MonitorElement * seedStoppingSourceVsEta
MonitorElement * TrackingRegionCandidatePhi
MonitorElement * seedStoppingSourceVsNumberOfTrajCandsPerSeed
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * NumberOfRecHitsPerTrackCand
MonitorElement * seedStoppingSource