122 unsigned int numAllTracks = 0;
123 unsigned int numHQTracks = 0;
130 unsigned int tkCnt = 0;
131 for (
const auto &iterTTTrack : *TTTrackHandle) {
134 unsigned int nStubs = tempTrackPtr->getStubRefs().size();
135 int nBarrelStubs = 0;
138 float track_eta = tempTrackPtr->momentum().eta();
139 float track_d0 = tempTrackPtr->d0();
140 float track_bendchi2 = tempTrackPtr->stubPtConsistency();
141 float track_chi2 = tempTrackPtr->chi2();
142 float track_chi2dof = tempTrackPtr->chi2Red();
143 float track_chi2rz = tempTrackPtr->chi2Z();
144 float track_chi2rphi = tempTrackPtr->chi2XY();
145 int nLayersMissed = 0;
146 unsigned int hitPattern_ = (
unsigned int)tempTrackPtr->hitPattern();
148 int nbits = floor(log2(hitPattern_)) + 1;
151 for (
int i = 0;
i < nbits;
i++) {
152 lay_i = ((1 <<
i) & hitPattern_) >>
i;
160 theStubs = iterTTTrack.getStubRefs();
161 for (
const auto &istub : theStubs) {
162 bool inBarrel =
false;
237 HistoName =
"Track_All_N";
244 Track_All_N->setAxisTitle(
"# L1 Tracks", 1);
245 Track_All_N->setAxisTitle(
"# Events", 2);
249 HistoName =
"Track_All_NStubs";
259 HistoName =
"Track_All_NLayersMissed";
269 HistoName =
"Track_All_Eta_NStubs";
283 HistoName =
"Track_All_Pt";
294 HistoName =
"Track_All_Phi";
305 HistoName =
"Track_All_D0";
316 HistoName =
"Track_All_Eta";
327 HistoName =
"Track_All_VtxZ";
338 HistoName =
"Track_All_Chi2";
348 HistoName =
"Track_All_Chi2RZ";
358 HistoName =
"Track_All_Chi2RPhi";
369 HistoName =
"Track_All_BendChi2";
380 HistoName =
"Track_All_Chi2Red";
391 HistoName =
"Track_All_Chi2_Probability";
394 psTrack_Chi2_Probability.
getParameter<int32_t>(
"Nbinsx"),
402 HistoName =
"Track_All_Chi2Red_NStubs";
416 HistoName =
"Track_All_Chi2Red_Eta";
429 HistoName =
"Track_All_Eta_BarrelStubs";
442 HistoName =
"Track_LQ_Eta_ECStubs";
457 HistoName =
"Track_HQ_N";
467 HistoName =
"Track_HQ_NStubs";
477 HistoName =
"Track_HQ_NLayersMissed";
487 HistoName =
"Track_HQ_Eta_NStubs";
500 HistoName =
"Track_HQ_Pt";
510 HistoName =
"Track_HQ_Phi";
520 HistoName =
"Track_HQ_D0";
530 HistoName =
"Track_HQ_Eta";
540 HistoName =
"Track_HQ_VtxZ";
550 HistoName =
"Track_HQ_Chi2";
560 HistoName =
"Track_HQ_BendChi2";
570 HistoName =
"Track_HQ_Chi2RZ";
579 HistoName =
"Track_HQ_Chi2RPhi";
589 HistoName =
"Track_HQ_Chi2Red";
599 HistoName =
"Track_HQ_Chi2_Probability";
602 psTrack_Chi2_Probability.
getParameter<int32_t>(
"Nbinsx"),
609 HistoName =
"Track_HQ_Chi2Red_NStubs";
622 HistoName =
"Track_HQ_Chi2Red_Eta";
635 HistoName =
"Track_HQ_Eta_BarrelStubs";
648 HistoName =
"Track_HQ_Eta_ECStubs";
MonitorElement * Track_All_N
Low-quality TTTracks (All tracks)
MonitorElement * Track_All_NStubs
MonitorElement * Track_All_Eta_NStubs
virtual void setCurrentFolder(std::string const &fullpath)
MonitorElement * Track_All_Chi2Red_NStubs
MonitorElement * Track_All_Chi2Red_Eta
MonitorElement * Track_All_Phi
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
MonitorElement * Track_HQ_Eta_BarrelStubs
MonitorElement * Track_All_Chi2
MonitorElement * Track_HQ_Chi2_Probability
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * Track_HQ_Phi
MonitorElement * Track_HQ_Chi2RZ
MonitorElement * Track_HQ_NStubs
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
MonitorElement * Track_All_Chi2Red
MonitorElement * Track_HQ_N
High-quality TTTracks; different depending on prompt vs displaced tracks.
~OuterTrackerMonitorTTTrack() override
MonitorElement * Track_HQ_Chi2Red_Eta
MonitorElement * Track_All_D0
std::string topFolderName_
float ChiSquaredProbability(double chiSquared, double nrDOF)
MonitorElement * Track_HQ_Chi2RPhi
static constexpr auto TOB
Class to store the L1 Track Trigger stubs.
MonitorElement * Track_All_BendChi2
MonitorElement * Track_All_Chi2_Probability
MonitorElement * Track_HQ_NLayersMissed
OuterTrackerMonitorTTTrack(const edm::ParameterSet &)
MonitorElement * Track_All_Eta_BarrelStubs
MonitorElement * Track_All_Eta_ECStubs
MonitorElement * Track_All_NLayersMissed
MonitorElement * Track_All_Chi2RZ
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
T getParameter(std::string const &) const
MonitorElement * Track_All_VtxZ
MonitorElement * Track_HQ_Chi2
MonitorElement * Track_HQ_Eta_ECStubs
MonitorElement * Track_All_Pt
MonitorElement * Track_HQ_Eta_NStubs
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * Track_All_Chi2RPhi
MonitorElement * Track_HQ_Pt
MonitorElement * Track_HQ_BendChi2
MonitorElement * Track_HQ_VtxZ
MonitorElement * Track_HQ_Eta
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
static constexpr auto TID
MonitorElement * Track_All_Eta
MonitorElement * Track_HQ_Chi2Red_NStubs
MonitorElement * Track_HQ_Chi2Red
MonitorElement * Track_HQ_D0
virtual void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)