CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes | Private Attributes
OuterTrackerMonitorTTTrack Class Reference

#include <OuterTrackerMonitorTTTrack.h>

Inheritance diagram for OuterTrackerMonitorTTTrack:
DQMEDAnalyzer edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns > edm::one::EDProducerBase edm::ProducerBase edm::EDConsumerBase edm::ProductRegistryHelper

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 OuterTrackerMonitorTTTrack (const edm::ParameterSet &)
 
 ~OuterTrackerMonitorTTTrack () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &ev, edm::EventSetup const &es) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) override
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
 DQMEDAnalyzer (DQMEDAnalyzer const &)=delete
 
 DQMEDAnalyzer (DQMEDAnalyzer &&)=delete
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) override
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) override
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) override
 
 ~DQMEDAnalyzer () override=default
 
- Public Member Functions inherited from edm::one::EDProducer< edm::Accumulator, edm::EndLuminosityBlockProducer, edm::EndRunProducer, edm::one::WatchLuminosityBlocks, edm::one::WatchRuns >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInLumis () const final
 
bool hasAbilityToProduceInRuns () const final
 
bool wantsGlobalLuminosityBlocks () const final
 
bool wantsGlobalRuns () const final
 
- Public Member Functions inherited from edm::one::EDProducerBase
 EDProducerBase ()
 
ModuleDescription const & moduleDescription () const
 
bool wantsStreamLuminosityBlocks () const
 
bool wantsStreamRuns () const
 
 ~EDProducerBase () override
 
- Public Member Functions inherited from edm::ProducerBase
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
std::vector< edm::ProductResolverIndex > const & indiciesForPutProducts (BranchType iBranchType) const
 
 ProducerBase ()
 
std::vector< edm::ProductResolverIndex > const & putTokenIndexToProductResolverIndex () const
 
void registerProducts (ProducerBase *, ProductRegistry *, ModuleDescription const &)
 
std::function< void(BranchDescription const &)> registrationCallback () const
 used by the fwk to register list of products More...
 
void resolvePutIndicies (BranchType iBranchType, ModuleToResolverIndicies const &iIndicies, std::string const &moduleLabel)
 
 ~ProducerBase () noexcept(false) override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
 EDConsumerBase (EDConsumerBase &&)=default
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
virtual ~EDConsumerBase () noexcept(false)
 

Public Attributes

MonitorElementTrack_Eta_NStubs = 0
 
MonitorElementTrack_HQ_Chi2 = 0
 
MonitorElementTrack_HQ_Chi2_Probability = 0
 
MonitorElementTrack_HQ_Chi2Red = 0
 
MonitorElementTrack_HQ_Chi2Red_Eta = 0
 
MonitorElementTrack_HQ_Chi2Red_NStubs = 0
 
MonitorElementTrack_HQ_D0 = 0
 
MonitorElementTrack_HQ_Eta = 0
 
MonitorElementTrack_HQ_Eta_BarrelStubs = 0
 
MonitorElementTrack_HQ_Eta_ECStubs = 0
 
MonitorElementTrack_HQ_N = 0
 High-quality TTTracks (NStubs >=5, chi2/dof<10) More...
 
MonitorElementTrack_HQ_Phi = 0
 
MonitorElementTrack_HQ_Pt = 0
 
MonitorElementTrack_HQ_VtxZ = 0
 
MonitorElementTrack_LQ_Chi2 = 0
 
MonitorElementTrack_LQ_Chi2_Probability = 0
 
MonitorElementTrack_LQ_Chi2Red = 0
 
MonitorElementTrack_LQ_Chi2Red_Eta = 0
 
MonitorElementTrack_LQ_Chi2Red_NStubs = 0
 
MonitorElementTrack_LQ_D0 = 0
 
MonitorElementTrack_LQ_Eta = 0
 
MonitorElementTrack_LQ_Eta_BarrelStubs = 0
 
MonitorElementTrack_LQ_Eta_ECStubs = 0
 
MonitorElementTrack_LQ_N = 0
 Low-quality TTTracks (All tracks) More...
 
MonitorElementTrack_LQ_Phi = 0
 
MonitorElementTrack_LQ_Pt = 0
 
MonitorElementTrack_LQ_VtxZ = 0
 
MonitorElementTrack_NStubs = 0
 

Private Attributes

edm::ParameterSet conf_
 
double HQChi2dof_
 
unsigned int HQNStubs_
 
std::string topFolderName_
 
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
 

Additional Inherited Members

- Public Types inherited from edm::one::EDProducerBase
typedef EDProducerBase ModuleType
 
- Public Types inherited from edm::ProducerBase
using ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >>
 
typedef ProductRegistryHelper::TypeLabelList TypeLabelList
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::one::EDProducerBase
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &descriptions)
 
- Protected Member Functions inherited from edm::EDConsumerBase
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 

Detailed Description

Definition at line 22 of file OuterTrackerMonitorTTTrack.h.

Constructor & Destructor Documentation

OuterTrackerMonitorTTTrack::OuterTrackerMonitorTTTrack ( const edm::ParameterSet iConfig)
explicit

Definition at line 39 of file OuterTrackerMonitorTTTrack.cc.

References conf_, edm::ParameterSet::getParameter(), HQChi2dof_, HQNStubs_, AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, and ttTrackToken_.

40 :conf_(iConfig)
41 {
42  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
43  ttTrackToken_ = consumes< std::vector < TTTrack< Ref_Phase2TrackerDigi_ > > > (conf_.getParameter<edm::InputTag>("TTTracksTag"));
44  HQNStubs_ = conf_.getParameter<int>("HQNStubs");
45  HQChi2dof_ = conf_.getParameter<double>("HQChi2dof");
46 }
T getParameter(std::string const &) const
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
OuterTrackerMonitorTTTrack::~OuterTrackerMonitorTTTrack ( )
override

Definition at line 48 of file OuterTrackerMonitorTTTrack.cc.

49 {
50  // do anything here that needs to be done at desctruction time
51  // (e.g. close files, deallocate resources etc.)
52 }

Member Function Documentation

void OuterTrackerMonitorTTTrack::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
override

Track Trigger Tracks

Loop over TTTracks

Make the pointer

Definition at line 57 of file OuterTrackerMonitorTTTrack.cc.

References ChiSquaredProbability(), MonitorElement::Fill(), edm::Event::getByToken(), HQChi2dof_, HQNStubs_, edm::HandleBase::isValid(), mathSSE::sqrt(), StripSubdetector::TEC, StripSubdetector::TIB, StripSubdetector::TID, StripSubdetector::TOB, Track_Eta_NStubs, Track_HQ_Chi2, Track_HQ_Chi2_Probability, Track_HQ_Chi2Red, Track_HQ_Chi2Red_Eta, Track_HQ_Chi2Red_NStubs, Track_HQ_D0, Track_HQ_Eta, Track_HQ_Eta_BarrelStubs, Track_HQ_Eta_ECStubs, Track_HQ_N, Track_HQ_Phi, Track_HQ_Pt, Track_HQ_VtxZ, Track_LQ_Chi2, Track_LQ_Chi2_Probability, Track_LQ_Chi2Red, Track_LQ_Chi2Red_Eta, Track_LQ_Chi2Red_NStubs, Track_LQ_D0, Track_LQ_Eta, Track_LQ_Eta_BarrelStubs, Track_LQ_Eta_ECStubs, Track_LQ_N, Track_LQ_Phi, Track_LQ_Pt, Track_LQ_VtxZ, Track_NStubs, reco::btau::trackChi2, align::Tracker, and ttTrackToken_.

58 {
59  // L1 Primaries
61  iEvent.getByToken(ttTrackToken_, TTTrackHandle);
62 
64  unsigned int numHQTracks = 0;
65  unsigned int numLQTracks = 0;
66 
67  // Adding protection
68  if ( !TTTrackHandle.isValid() ) return;
69 
71  unsigned int tkCnt = 0;
72  for(auto iterTTTrack: *TTTrackHandle){
73  edm::Ptr< TTTrack< Ref_Phase2TrackerDigi_ > > tempTrackPtr(TTTrackHandle, tkCnt++);
74 
75  unsigned int nStubs = tempTrackPtr->getStubRefs().size();
76  int nBarrelStubs = 0;
77  int nECStubs = 0;
78 
79 
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();
83 
84  Track_NStubs->Fill(nStubs);
85  Track_Eta_NStubs->Fill(tempTrackPtr->getMomentum().eta(), nStubs);
86 
87  std::vector< edm::Ref< edmNew::DetSetVector< TTStub< Ref_Phase2TrackerDigi_ > >, TTStub< Ref_Phase2TrackerDigi_ > > > theStubs = iterTTTrack.getStubRefs() ;
88  for (auto istub: theStubs) {
89  bool inTIB = false;
90  bool inTOB = false;
91  bool inTEC = false;
92  bool inTID = false;
93 
94  // Verify if stubs are in EC or barrel
95  DetId detId(istub->getDetId());
96  if (detId.det() == DetId::Detector::Tracker) {
97 
98  if (detId.subdetId() == StripSubdetector::TIB) inTIB=true;
99  else if (detId.subdetId() == StripSubdetector::TOB) inTOB=true;
100  else if (detId.subdetId() == StripSubdetector::TEC) inTEC=true;
101  else if (detId.subdetId() == StripSubdetector::TID) inTID=true;
102  }
103  if (inTIB) nBarrelStubs++;
104  else if (inTOB) nBarrelStubs++;
105  else if (inTEC) nECStubs++;
106  else if (inTID) nECStubs++;
107  } //end loop over stubs
108 
109  //HQ tracks: >=5 stubs and chi2/dof < 1
110  if (nStubs >= HQNStubs_ && trackChi2R <= HQChi2dof_) {
111  numHQTracks++;
112 
113  Track_HQ_Pt->Fill(tempTrackPtr->getMomentum().perp());
114  Track_HQ_Eta->Fill(tempTrackPtr->getMomentum().eta());
115  Track_HQ_Phi->Fill(tempTrackPtr->getMomentum().phi());
116  Track_HQ_VtxZ->Fill(tempTrackPtr->getPOCA().z());
117  Track_HQ_Chi2->Fill(trackChi2);
118  Track_HQ_Chi2Red->Fill(trackChi2R);
119  Track_HQ_D0->Fill(track_d0);
120  Track_HQ_Chi2Red_NStubs->Fill(nStubs, trackChi2R);
121  Track_HQ_Chi2Red_Eta->Fill(tempTrackPtr->getMomentum().eta(), trackChi2R);
122  Track_HQ_Eta_BarrelStubs->Fill(tempTrackPtr->getMomentum().eta(), nBarrelStubs);
123  Track_HQ_Eta_ECStubs->Fill(tempTrackPtr->getMomentum().eta(), nECStubs);
125  }
126 
127  //LQ: now defined as all tracks (including HQ tracks)
128  numLQTracks++;
129 
130  Track_LQ_Pt->Fill(tempTrackPtr->getMomentum().perp());
131  Track_LQ_Eta->Fill(tempTrackPtr->getMomentum().eta());
132  Track_LQ_Phi->Fill(tempTrackPtr->getMomentum().phi());
133  Track_LQ_VtxZ->Fill(tempTrackPtr->getPOCA().z());
134  Track_LQ_Chi2->Fill(trackChi2);
135  Track_LQ_Chi2Red->Fill(trackChi2R);
136  Track_LQ_D0->Fill(track_d0);
137  Track_LQ_Chi2Red_NStubs->Fill(nStubs, trackChi2R);
138  Track_LQ_Chi2Red_Eta->Fill(tempTrackPtr->getMomentum().eta(), trackChi2R);
139  Track_LQ_Eta_BarrelStubs->Fill(tempTrackPtr->getMomentum().eta(), nBarrelStubs);
140  Track_LQ_Eta_ECStubs->Fill(tempTrackPtr->getMomentum().eta(), nECStubs);
142 
143  } // End of loop over TTTracks
144 
145  Track_HQ_N->Fill(numHQTracks);
146  Track_LQ_N->Fill(numLQTracks);
147 } // end of method
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:579
edm::EDGetTokenT< std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > ttTrackToken_
void Fill(long long x)
MonitorElement * Track_HQ_N
High-quality TTTracks (NStubs >=5, chi2/dof<10)
T sqrt(T t)
Definition: SSEVec.h:18
float ChiSquaredProbability(double chiSquared, double nrDOF)
bool isValid() const
Definition: HandleBase.h:74
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
Definition: DetId.h:18
MonitorElement * Track_LQ_N
Low-quality TTTracks (All tracks)
void OuterTrackerMonitorTTTrack::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Low-quality tracks (All tracks, including HQ tracks)

High-quality tracks (Now defined as >=5 stubs and chi2/dof < 10)

Implements DQMEDAnalyzer.

Definition at line 151 of file OuterTrackerMonitorTTTrack.cc.

References DQMStore::IBooker::book1D(), DQMStore::IBooker::book2D(), conf_, DEFINE_FWK_MODULE, edm::ParameterSet::getParameter(), MonitorElement::setAxisTitle(), DQMStore::IBooker::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, Track_Eta_NStubs, Track_HQ_Chi2, Track_HQ_Chi2_Probability, Track_HQ_Chi2Red, Track_HQ_Chi2Red_Eta, Track_HQ_Chi2Red_NStubs, Track_HQ_D0, Track_HQ_Eta, Track_HQ_Eta_BarrelStubs, Track_HQ_Eta_ECStubs, Track_HQ_N, Track_HQ_Phi, Track_HQ_Pt, Track_HQ_VtxZ, Track_LQ_Chi2, Track_LQ_Chi2_Probability, Track_LQ_Chi2Red, Track_LQ_Chi2Red_Eta, Track_LQ_Chi2Red_NStubs, Track_LQ_D0, Track_LQ_Eta, Track_LQ_Eta_BarrelStubs, Track_LQ_Eta_ECStubs, Track_LQ_N, Track_LQ_Phi, Track_LQ_Pt, Track_LQ_VtxZ, and Track_NStubs.

151  {
153  iBooker.setCurrentFolder(topFolderName_+"/Tracks/");
154 
155  //Number of stubs
156  edm::ParameterSet psTrack_NStubs = conf_.getParameter<edm::ParameterSet>("TH1_NStubs");
157  HistoName = "Track_NStubs";
158  Track_NStubs = iBooker.book1D(HistoName, HistoName,
159  psTrack_NStubs.getParameter<int32_t>("Nbinsx"),
160  psTrack_NStubs.getParameter<double>("xmin"),
161  psTrack_NStubs.getParameter<double>("xmax"));
162  Track_NStubs->setAxisTitle("# L1 Stubs per L1 Track", 1);
163  Track_NStubs->setAxisTitle("# L1 Tracks", 2);
164 
165  edm::ParameterSet psTrack_Eta_NStubs = conf_.getParameter<edm::ParameterSet>("TH2_Track_Eta_NStubs");
166  HistoName = "Track_Eta_NStubs";
167  Track_Eta_NStubs = iBooker.book2D(HistoName, HistoName,
168  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
169  psTrack_Eta_NStubs.getParameter<double>("xmin"),
170  psTrack_Eta_NStubs.getParameter<double>("xmax"),
171  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
172  psTrack_Eta_NStubs.getParameter<double>("ymin"),
173  psTrack_Eta_NStubs.getParameter<double>("ymax"));
174  Track_Eta_NStubs->setAxisTitle("#eta", 1);
175  Track_Eta_NStubs->setAxisTitle("# L1 Stubs", 2);
176 
178  iBooker.setCurrentFolder(topFolderName_+"/Tracks/LQ");
179  // Nb of L1Tracks
180  HistoName = "Track_LQ_N";
181  edm::ParameterSet psTrack_N = conf_.getParameter<edm::ParameterSet>("TH1_NTracks");
182  Track_LQ_N = iBooker.book1D(HistoName, HistoName,
183  psTrack_N.getParameter<int32_t>("Nbinsx"),
184  psTrack_N.getParameter<double>("xmin"),
185  psTrack_N.getParameter<double>("xmax"));
186  Track_LQ_N->setAxisTitle("# L1 Tracks", 1);
187  Track_LQ_N->setAxisTitle("# Events", 2);
188 
189  //Pt of the tracks
190  edm::ParameterSet psTrack_Pt = conf_.getParameter<edm::ParameterSet>("TH1_Track_Pt");
191  HistoName = "Track_LQ_Pt";
192  Track_LQ_Pt = iBooker.book1D(HistoName, HistoName,
193  psTrack_Pt.getParameter<int32_t>("Nbinsx"),
194  psTrack_Pt.getParameter<double>("xmin"),
195  psTrack_Pt.getParameter<double>("xmax"));
196  Track_LQ_Pt->setAxisTitle("p_{T} [GeV]", 1);
197  Track_LQ_Pt->setAxisTitle("# L1 Tracks", 2);
198 
199  //Phi
200  edm::ParameterSet psTrack_Phi = conf_.getParameter<edm::ParameterSet>("TH1_Track_Phi");
201  HistoName = "Track_LQ_Phi";
202  Track_LQ_Phi = iBooker.book1D(HistoName, HistoName,
203  psTrack_Phi.getParameter<int32_t>("Nbinsx"),
204  psTrack_Phi.getParameter<double>("xmin"),
205  psTrack_Phi.getParameter<double>("xmax"));
206  Track_LQ_Phi->setAxisTitle("#phi", 1);
207  Track_LQ_Phi->setAxisTitle("# L1 Tracks", 2);
208 
209  //D0
210  edm::ParameterSet psTrack_D0 = conf_.getParameter<edm::ParameterSet>("TH1_Track_D0");
211  HistoName = "Track_LQ_D0";
212  Track_LQ_D0 = iBooker.book1D(HistoName, HistoName,
213  psTrack_D0.getParameter<int32_t>("Nbinsx"),
214  psTrack_D0.getParameter<double>("xmin"),
215  psTrack_D0.getParameter<double>("xmax"));
216  Track_LQ_D0->setAxisTitle("Track D0", 1);
217  Track_LQ_D0->setAxisTitle("# L1 Tracks", 2);
218 
219  //Eta
220  edm::ParameterSet psTrack_Eta = conf_.getParameter<edm::ParameterSet>("TH1_Track_Eta");
221  HistoName = "Track_LQ_Eta";
222  Track_LQ_Eta = iBooker.book1D(HistoName, HistoName,
223  psTrack_Eta.getParameter<int32_t>("Nbinsx"),
224  psTrack_Eta.getParameter<double>("xmin"),
225  psTrack_Eta.getParameter<double>("xmax"));
226  Track_LQ_Eta->setAxisTitle("#eta", 1);
227  Track_LQ_Eta->setAxisTitle("# L1 Tracks", 2);
228 
229  //VtxZ
230  edm::ParameterSet psTrack_VtxZ = conf_.getParameter<edm::ParameterSet>("TH1_Track_VtxZ");
231  HistoName = "Track_LQ_VtxZ";
232  Track_LQ_VtxZ = iBooker.book1D(HistoName, HistoName,
233  psTrack_VtxZ.getParameter<int32_t>("Nbinsx"),
234  psTrack_VtxZ.getParameter<double>("xmin"),
235  psTrack_VtxZ.getParameter<double>("xmax"));
236  Track_LQ_VtxZ->setAxisTitle("L1 Track vertex position z [cm]", 1);
237  Track_LQ_VtxZ->setAxisTitle("# L1 Tracks", 2);
238 
239  //chi2
240  edm::ParameterSet psTrack_Chi2 = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2");
241  HistoName = "Track_LQ_Chi2";
242  Track_LQ_Chi2 = iBooker.book1D(HistoName, HistoName,
243  psTrack_Chi2.getParameter<int32_t>("Nbinsx"),
244  psTrack_Chi2.getParameter<double>("xmin"),
245  psTrack_Chi2.getParameter<double>("xmax"));
246  Track_LQ_Chi2->setAxisTitle("L1 Track #chi^{2}", 1);
247  Track_LQ_Chi2->setAxisTitle("# L1 Tracks", 2);
248 
249  //chi2Red
250  edm::ParameterSet psTrack_Chi2Red = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2R");
251  HistoName = "Track_LQ_Chi2Red";
252  Track_LQ_Chi2Red = iBooker.book1D(HistoName, HistoName,
253  psTrack_Chi2Red.getParameter<int32_t>("Nbinsx"),
254  psTrack_Chi2Red.getParameter<double>("xmin"),
255  psTrack_Chi2Red.getParameter<double>("xmax"));
256  Track_LQ_Chi2Red->setAxisTitle("L1 Track #chi^{2}/ndf", 1);
257  Track_LQ_Chi2Red->setAxisTitle("# L1 Tracks", 2);
258 
259  //Chi2 prob
260  edm::ParameterSet psTrack_Chi2_Probability = conf_.getParameter<edm::ParameterSet>("TH1_Track_Chi2_Probability");
261  HistoName = "Track_LQ_Chi2_Probability";
262  Track_LQ_Chi2_Probability = iBooker.book1D(HistoName, HistoName,
263  psTrack_Chi2_Probability.getParameter<int32_t>("Nbinsx"),
264  psTrack_Chi2_Probability.getParameter<double>("xmin"),
265  psTrack_Chi2_Probability.getParameter<double>("xmax"));
266  Track_LQ_Chi2_Probability->setAxisTitle("#chi^{2} probability", 1);
267  Track_LQ_Chi2_Probability->setAxisTitle("# L1 Tracks", 2);
268 
269  //Reduced chi2 vs #stubs
270  edm::ParameterSet psTrack_Chi2Red_NStubs = conf_.getParameter<edm::ParameterSet>("TH2_Track_Chi2R_NStubs");
271  HistoName = "Track_LQ_Chi2Red_NStubs";
272  Track_LQ_Chi2Red_NStubs = iBooker.book2D(HistoName, HistoName,
273  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsx"),
274  psTrack_Chi2Red_NStubs.getParameter<double>("xmin"),
275  psTrack_Chi2Red_NStubs.getParameter<double>("xmax"),
276  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsy"),
277  psTrack_Chi2Red_NStubs.getParameter<double>("ymin"),
278  psTrack_Chi2Red_NStubs.getParameter<double>("ymax"));
279  Track_LQ_Chi2Red_NStubs->setAxisTitle("# L1 Stubs", 1);
280  Track_LQ_Chi2Red_NStubs->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
281 
282  //chi2/dof vs eta
283  edm::ParameterSet psTrack_Chi2R_Eta = conf_.getParameter<edm::ParameterSet>("TH2_Track_Chi2R_Eta");
284  HistoName = "Track_LQ_Chi2Red_Eta";
285  Track_LQ_Chi2Red_Eta = iBooker.book2D(HistoName, HistoName,
286  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsx"),
287  psTrack_Chi2R_Eta.getParameter<double>("xmin"),
288  psTrack_Chi2R_Eta.getParameter<double>("xmax"),
289  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsy"),
290  psTrack_Chi2R_Eta.getParameter<double>("ymin"),
291  psTrack_Chi2R_Eta.getParameter<double>("ymax"));
293  Track_LQ_Chi2Red_Eta->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
294 
295  //Eta vs #stubs in barrel
296  HistoName = "Track_LQ_Eta_BarrelStubs";
297  Track_LQ_Eta_BarrelStubs = iBooker.book2D(HistoName, HistoName,
298  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
299  psTrack_Eta_NStubs.getParameter<double>("xmin"),
300  psTrack_Eta_NStubs.getParameter<double>("xmax"),
301  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
302  psTrack_Eta_NStubs.getParameter<double>("ymin"),
303  psTrack_Eta_NStubs.getParameter<double>("ymax"));
305  Track_LQ_Eta_BarrelStubs->setAxisTitle("# L1 Barrel Stubs", 2);
306 
307  //Eta vs #stubs in EC
308  HistoName = "Track_LQ_Eta_ECStubs";
309  Track_LQ_Eta_ECStubs = iBooker.book2D(HistoName, HistoName,
310  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
311  psTrack_Eta_NStubs.getParameter<double>("xmin"),
312  psTrack_Eta_NStubs.getParameter<double>("xmax"),
313  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
314  psTrack_Eta_NStubs.getParameter<double>("ymin"),
315  psTrack_Eta_NStubs.getParameter<double>("ymax"));
317  Track_LQ_Eta_ECStubs->setAxisTitle("# L1 EC Stubs", 2);
318 
320  iBooker.setCurrentFolder(topFolderName_+"/Tracks/HQ");
321  // Nb of L1Tracks
322  HistoName = "Track_HQ_N";
323  Track_HQ_N = iBooker.book1D(HistoName, HistoName,
324  psTrack_N.getParameter<int32_t>("Nbinsx"),
325  psTrack_N.getParameter<double>("xmin"),
326  psTrack_N.getParameter<double>("xmax"));
327  Track_HQ_N->setAxisTitle("# L1 Tracks", 1);
328  Track_HQ_N->setAxisTitle("# Events", 2);
329 
330  //Pt of the tracks
331  HistoName = "Track_HQ_Pt";
332  Track_HQ_Pt = iBooker.book1D(HistoName, HistoName,
333  psTrack_Pt.getParameter<int32_t>("Nbinsx"),
334  psTrack_Pt.getParameter<double>("xmin"),
335  psTrack_Pt.getParameter<double>("xmax"));
336  Track_HQ_Pt->setAxisTitle("p_{T} [GeV]", 1);
337  Track_HQ_Pt->setAxisTitle("# L1 Tracks", 2);
338 
339  //Phi
340  HistoName = "Track_HQ_Phi";
341  Track_HQ_Phi = iBooker.book1D(HistoName, HistoName,
342  psTrack_Phi.getParameter<int32_t>("Nbinsx"),
343  psTrack_Phi.getParameter<double>("xmin"),
344  psTrack_Phi.getParameter<double>("xmax"));
345  Track_HQ_Phi->setAxisTitle("#phi", 1);
346  Track_HQ_Phi->setAxisTitle("# L1 Tracks", 2);
347 
348  //D0
349  HistoName = "Track_HQ_D0";
350  Track_HQ_D0 = iBooker.book1D(HistoName, HistoName,
351  psTrack_D0.getParameter<int32_t>("Nbinsx"),
352  psTrack_D0.getParameter<double>("xmin"),
353  psTrack_D0.getParameter<double>("xmax"));
354  Track_HQ_D0->setAxisTitle("Track D0", 1);
355  Track_HQ_D0->setAxisTitle("# L1 Tracks", 2);
356 
357  //Eta
358  HistoName = "Track_HQ_Eta";
359  Track_HQ_Eta = iBooker.book1D(HistoName, HistoName,
360  psTrack_Eta.getParameter<int32_t>("Nbinsx"),
361  psTrack_Eta.getParameter<double>("xmin"),
362  psTrack_Eta.getParameter<double>("xmax"));
363  Track_HQ_Eta->setAxisTitle("#eta", 1);
364  Track_HQ_Eta->setAxisTitle("# L1 Tracks", 2);
365 
366  //VtxZ
367  HistoName = "Track_HQ_VtxZ";
368  Track_HQ_VtxZ = iBooker.book1D(HistoName, HistoName,
369  psTrack_VtxZ.getParameter<int32_t>("Nbinsx"),
370  psTrack_VtxZ.getParameter<double>("xmin"),
371  psTrack_VtxZ.getParameter<double>("xmax"));
372  Track_HQ_VtxZ->setAxisTitle("L1 Track vertex position z [cm]", 1);
373  Track_HQ_VtxZ->setAxisTitle("# L1 Tracks", 2);
374 
375  //chi2
376  HistoName = "Track_HQ_Chi2";
377  Track_HQ_Chi2 = iBooker.book1D(HistoName, HistoName,
378  psTrack_Chi2.getParameter<int32_t>("Nbinsx"),
379  psTrack_Chi2.getParameter<double>("xmin"),
380  psTrack_Chi2.getParameter<double>("xmax"));
381  Track_HQ_Chi2->setAxisTitle("L1 Track #chi^{2}", 1);
382  Track_HQ_Chi2->setAxisTitle("# L1 Tracks", 2);
383 
384  //chi2Red
385  HistoName = "Track_HQ_Chi2Red";
386  Track_HQ_Chi2Red = iBooker.book1D(HistoName, HistoName,
387  psTrack_Chi2Red.getParameter<int32_t>("Nbinsx"),
388  psTrack_Chi2Red.getParameter<double>("xmin"),
389  psTrack_Chi2Red.getParameter<double>("xmax"));
390  Track_HQ_Chi2Red->setAxisTitle("L1 Track #chi^{2}/ndf", 1);
391  Track_HQ_Chi2Red->setAxisTitle("# L1 Tracks", 2);
392 
393  //Chi2 prob
394  HistoName = "Track_HQ_Chi2_Probability";
395  Track_HQ_Chi2_Probability = iBooker.book1D(HistoName, HistoName,
396  psTrack_Chi2_Probability.getParameter<int32_t>("Nbinsx"),
397  psTrack_Chi2_Probability.getParameter<double>("xmin"),
398  psTrack_Chi2_Probability.getParameter<double>("xmax"));
399  Track_HQ_Chi2_Probability->setAxisTitle("#chi^{2} probability", 1);
400  Track_HQ_Chi2_Probability->setAxisTitle("# L1 Tracks", 2);
401 
402  //Reduced chi2 vs #stubs
403  HistoName = "Track_HQ_Chi2Red_NStubs";
404  Track_HQ_Chi2Red_NStubs = iBooker.book2D(HistoName, HistoName,
405  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsx"),
406  psTrack_Chi2Red_NStubs.getParameter<double>("xmin"),
407  psTrack_Chi2Red_NStubs.getParameter<double>("xmax"),
408  psTrack_Chi2Red_NStubs.getParameter<int32_t>("Nbinsy"),
409  psTrack_Chi2Red_NStubs.getParameter<double>("ymin"),
410  psTrack_Chi2Red_NStubs.getParameter<double>("ymax"));
411  Track_HQ_Chi2Red_NStubs->setAxisTitle("# L1 Stubs", 1);
412  Track_HQ_Chi2Red_NStubs->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
413 
414  //chi2/dof vs eta
415  HistoName = "Track_HQ_Chi2Red_Eta";
416  Track_HQ_Chi2Red_Eta = iBooker.book2D(HistoName, HistoName,
417  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsx"),
418  psTrack_Chi2R_Eta.getParameter<double>("xmin"),
419  psTrack_Chi2R_Eta.getParameter<double>("xmax"),
420  psTrack_Chi2R_Eta.getParameter<int32_t>("Nbinsy"),
421  psTrack_Chi2R_Eta.getParameter<double>("ymin"),
422  psTrack_Chi2R_Eta.getParameter<double>("ymax"));
424  Track_HQ_Chi2Red_Eta->setAxisTitle("L1 Track #chi^{2}/ndf", 2);
425 
426  //eta vs #stubs in barrel
427  HistoName = "Track_HQ_Eta_BarrelStubs";
428  Track_HQ_Eta_BarrelStubs = iBooker.book2D(HistoName, HistoName,
429  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
430  psTrack_Eta_NStubs.getParameter<double>("xmin"),
431  psTrack_Eta_NStubs.getParameter<double>("xmax"),
432  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
433  psTrack_Eta_NStubs.getParameter<double>("ymin"),
434  psTrack_Eta_NStubs.getParameter<double>("ymax"));
436  Track_HQ_Eta_BarrelStubs->setAxisTitle("# L1 Barrel Stubs", 2);
437 
438  //eta vs #stubs in EC
439  HistoName = "Track_HQ_Eta_ECStubs";
440  Track_HQ_Eta_ECStubs = iBooker.book2D(HistoName, HistoName,
441  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsx"),
442  psTrack_Eta_NStubs.getParameter<double>("xmin"),
443  psTrack_Eta_NStubs.getParameter<double>("xmax"),
444  psTrack_Eta_NStubs.getParameter<int32_t>("Nbinsy"),
445  psTrack_Eta_NStubs.getParameter<double>("ymin"),
446  psTrack_Eta_NStubs.getParameter<double>("ymax"));
448  Track_HQ_Eta_ECStubs->setAxisTitle("# L1 EC Stubs", 2);
449 
450 }//end of method
T getParameter(std::string const &) const
MonitorElement * Track_HQ_N
High-quality TTTracks (NStubs >=5, chi2/dof<10)
MonitorElement * book1D(Args &&...args)
Definition: DQMStore.h:118
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
MonitorElement * book2D(Args &&...args)
Definition: DQMStore.h:136
MonitorElement * Track_LQ_N
Low-quality TTTracks (All tracks)
std::string HistoName
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)

Member Data Documentation

edm::ParameterSet OuterTrackerMonitorTTTrack::conf_
private

Definition at line 65 of file OuterTrackerMonitorTTTrack.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTTrack().

double OuterTrackerMonitorTTTrack::HQChi2dof_
private

Definition at line 69 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().

unsigned int OuterTrackerMonitorTTTrack::HQNStubs_
private

Definition at line 68 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().

std::string OuterTrackerMonitorTTTrack::topFolderName_
private

Definition at line 70 of file OuterTrackerMonitorTTTrack.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTTrack().

MonitorElement* OuterTrackerMonitorTTTrack::Track_Eta_NStubs = 0

Definition at line 32 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2 = 0

Definition at line 56 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2_Probability = 0

Definition at line 62 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red = 0

Definition at line 57 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red_Eta = 0

Definition at line 59 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red_NStubs = 0

Definition at line 58 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_D0 = 0

Definition at line 54 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta = 0

Definition at line 52 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta_BarrelStubs = 0

Definition at line 60 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta_ECStubs = 0

Definition at line 61 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_N = 0

High-quality TTTracks (NStubs >=5, chi2/dof<10)

Definition at line 50 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Phi = 0

Definition at line 53 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Pt = 0

Definition at line 51 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_VtxZ = 0

Definition at line 55 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2 = 0

Definition at line 41 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2_Probability = 0

Definition at line 47 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red = 0

Definition at line 42 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red_Eta = 0

Definition at line 44 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red_NStubs = 0

Definition at line 43 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_D0 = 0

Definition at line 39 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta = 0

Definition at line 37 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta_BarrelStubs = 0

Definition at line 45 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta_ECStubs = 0

Definition at line 46 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_N = 0

Low-quality TTTracks (All tracks)

Definition at line 35 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Phi = 0

Definition at line 38 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Pt = 0

Definition at line 36 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_VtxZ = 0

Definition at line 40 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_NStubs = 0

Definition at line 31 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<std::vector< TTTrack< Ref_Phase2TrackerDigi_ > > > OuterTrackerMonitorTTTrack::ttTrackToken_
private

Definition at line 66 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().