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::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator > 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 &event, edm::EventSetup const &setup) final
 
virtual void analyze (edm::Event const &, edm::EventSetup const &)
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual void dqmBeginLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
virtual void dqmEndLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &)
 
virtual void dqmEndRun (edm::Run const &, edm::EventSetup const &)
 
void endLuminosityBlock (edm::LuminosityBlock const &, edm::EventSetup const &) final
 
void endLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &, edm::EventSetup const &) final
 
void endRunProduce (edm::Run &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::one::EDProducer< edm::EndRunProducer, edm::one::WatchRuns, edm::EndLuminosityBlockProducer, edm::one::WatchLuminosityBlocks, edm::Accumulator >
 EDProducer ()=default
 
SerialTaskQueueglobalLuminosityBlocksQueue () final
 
SerialTaskQueueglobalRunsQueue () final
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndRuns () 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
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
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)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
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 DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- 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::ProducerBase
ProducesCollector producesCollector ()
 
- 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 ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
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 19 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_.

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

Definition at line 47 of file OuterTrackerMonitorTTTrack.cc.

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

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 55 of file OuterTrackerMonitorTTTrack.cc.

References ChiSquaredProbability(), dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), HQChi2dof_, HQNStubs_, edm::HandleBase::isValid(), 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_.

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

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), conf_, DEFINE_FWK_MODULE, edm::ParameterSet::getParameter(), dqm::impl::MonitorElement::setAxisTitle(), dqm::dqmstoreimpl::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.

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

Referenced by bookHistograms(), and OuterTrackerMonitorTTTrack().

double OuterTrackerMonitorTTTrack::HQChi2dof_
private

Definition at line 66 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().

unsigned int OuterTrackerMonitorTTTrack::HQNStubs_
private

Definition at line 65 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().

std::string OuterTrackerMonitorTTTrack::topFolderName_
private

Definition at line 67 of file OuterTrackerMonitorTTTrack.h.

Referenced by bookHistograms(), and OuterTrackerMonitorTTTrack().

MonitorElement* OuterTrackerMonitorTTTrack::Track_Eta_NStubs = 0

Definition at line 28 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2 = 0

Definition at line 53 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2_Probability = 0

Definition at line 59 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red = 0

Definition at line 54 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red_Eta = 0

Definition at line 56 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Chi2Red_NStubs = 0

Definition at line 55 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_D0 = 0

Definition at line 51 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta = 0

Definition at line 49 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta_BarrelStubs = 0

Definition at line 57 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Eta_ECStubs = 0

Definition at line 58 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 47 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Phi = 0

Definition at line 50 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_Pt = 0

Definition at line 48 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_HQ_VtxZ = 0

Definition at line 52 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2 = 0

Definition at line 38 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2_Probability = 0

Definition at line 44 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red = 0

Definition at line 39 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red_Eta = 0

Definition at line 41 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Chi2Red_NStubs = 0

Definition at line 40 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_D0 = 0

Definition at line 36 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta = 0

Definition at line 34 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta_BarrelStubs = 0

Definition at line 42 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Eta_ECStubs = 0

Definition at line 43 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_N = 0

Low-quality TTTracks (All tracks)

Definition at line 32 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Phi = 0

Definition at line 35 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_Pt = 0

Definition at line 33 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_LQ_VtxZ = 0

Definition at line 37 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTTTrack::Track_NStubs = 0

Definition at line 27 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and bookHistograms().

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

Definition at line 63 of file OuterTrackerMonitorTTTrack.h.

Referenced by analyze(), and OuterTrackerMonitorTTTrack().