64 unsigned int numHQTracks = 0;
65 unsigned int numLQTracks = 0;
68 if ( !TTTrackHandle.
isValid() )
return;
71 unsigned int tkCnt = 0;
72 for(
auto iterTTTrack: *TTTrackHandle){
75 unsigned int nStubs = tempTrackPtr->getStubRefs().size();
80 double track_d0 =
sqrt(tempTrackPtr->getPOCA().x()*tempTrackPtr->getPOCA().x() + tempTrackPtr->getPOCA().y()*tempTrackPtr->getPOCA().y());
81 double trackChi2 = tempTrackPtr->getChi2();
82 double trackChi2R = tempTrackPtr->getChi2Red();
88 for (
auto istub: theStubs) {
95 DetId detId(istub->getDetId());
103 if (inTIB) nBarrelStubs++;
104 else if (inTOB) nBarrelStubs++;
105 else if (inTEC) nECStubs++;
106 else if (inTID) nECStubs++;
157 HistoName =
"Track_NStubs";
166 HistoName =
"Track_Eta_NStubs";
180 HistoName =
"Track_LQ_N";
186 Track_LQ_N->setAxisTitle(
"# L1 Tracks", 1);
187 Track_LQ_N->setAxisTitle(
"# Events", 2);
191 HistoName =
"Track_LQ_Pt";
201 HistoName =
"Track_LQ_Phi";
211 HistoName =
"Track_LQ_D0";
221 HistoName =
"Track_LQ_Eta";
231 HistoName =
"Track_LQ_VtxZ";
241 HistoName =
"Track_LQ_Chi2";
251 HistoName =
"Track_LQ_Chi2Red";
261 HistoName =
"Track_LQ_Chi2_Probability";
263 psTrack_Chi2_Probability.
getParameter<int32_t>(
"Nbinsx"),
271 HistoName =
"Track_LQ_Chi2Red_NStubs";
284 HistoName =
"Track_LQ_Chi2Red_Eta";
296 HistoName =
"Track_LQ_Eta_BarrelStubs";
308 HistoName =
"Track_LQ_Eta_ECStubs";
322 HistoName =
"Track_HQ_N";
331 HistoName =
"Track_HQ_Pt";
340 HistoName =
"Track_HQ_Phi";
349 HistoName =
"Track_HQ_D0";
358 HistoName =
"Track_HQ_Eta";
367 HistoName =
"Track_HQ_VtxZ";
376 HistoName =
"Track_HQ_Chi2";
385 HistoName =
"Track_HQ_Chi2Red";
394 HistoName =
"Track_HQ_Chi2_Probability";
396 psTrack_Chi2_Probability.
getParameter<int32_t>(
"Nbinsx"),
403 HistoName =
"Track_HQ_Chi2Red_NStubs";
415 HistoName =
"Track_HQ_Chi2Red_Eta";
427 HistoName =
"Track_HQ_Eta_BarrelStubs";
439 HistoName =
"Track_HQ_Eta_ECStubs";
MonitorElement * Track_LQ_Eta_BarrelStubs
T getParameter(std::string const &) const
MonitorElement * Track_LQ_Chi2Red_NStubs
MonitorElement * Track_LQ_Pt
bool getByToken(EDGetToken token, Handle< PROD > &result) const
#define DEFINE_FWK_MODULE(type)
MonitorElement * Track_LQ_VtxZ
MonitorElement * Track_HQ_Eta_BarrelStubs
MonitorElement * Track_LQ_Chi2Red
MonitorElement * Track_LQ_Chi2Red_Eta
MonitorElement * Track_Eta_NStubs
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
MonitorElement * Track_HQ_Chi2_Probability
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
MonitorElement * Track_LQ_Eta
MonitorElement * Track_HQ_Phi
MonitorElement * Track_LQ_Chi2_Probability
MonitorElement * Track_HQ_N
High-quality TTTracks (NStubs >=5, chi2/dof<10)
~OuterTrackerMonitorTTTrack() override
MonitorElement * Track_HQ_Chi2Red_Eta
MonitorElement * book1D(Args &&...args)
std::string topFolderName_
MonitorElement * Track_LQ_Eta_ECStubs
float ChiSquaredProbability(double chiSquared, double nrDOF)
Class to store the L1 Track Trigger stubs.
OuterTrackerMonitorTTTrack(const edm::ParameterSet &)
MonitorElement * Track_LQ_Chi2
MonitorElement * Track_LQ_D0
MonitorElement * Track_LQ_Phi
void setCurrentFolder(const std::string &fullpath)
MonitorElement * book2D(Args &&...args)
MonitorElement * Track_HQ_Chi2
MonitorElement * Track_LQ_N
Low-quality TTTracks (All tracks)
MonitorElement * Track_HQ_Eta_ECStubs
void analyze(const edm::Event &, const edm::EventSetup &) override
MonitorElement * Track_HQ_Pt
MonitorElement * Track_HQ_VtxZ
MonitorElement * Track_HQ_Eta
MonitorElement * Track_NStubs
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
MonitorElement * Track_HQ_Chi2Red_NStubs
MonitorElement * Track_HQ_Chi2Red
MonitorElement * Track_HQ_D0