CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Private Attributes
OuterTrackerMonitorTrackingParticles Class Reference

#include <OuterTrackerMonitorTrackingParticles.h>

Inheritance diagram for OuterTrackerMonitorTrackingParticles:
DQMEDAnalyzer edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >

Public Member Functions

void analyze (const edm::Event &, const edm::EventSetup &) override
 
void bookHistograms (DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
 
 OuterTrackerMonitorTrackingParticles (const edm::ParameterSet &)
 
 ~OuterTrackerMonitorTrackingParticles () override
 
- Public Member Functions inherited from DQMEDAnalyzer
void accumulate (edm::Event const &event, edm::EventSetup const &setup) final
 
void beginLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void beginRun (edm::Run const &run, edm::EventSetup const &setup) final
 
void beginStream (edm::StreamID id) final
 
virtual void dqmBeginRun (edm::Run const &, edm::EventSetup const &)
 
 DQMEDAnalyzer ()
 
void endLuminosityBlock (edm::LuminosityBlock const &lumi, edm::EventSetup const &setup) final
 
void endRun (edm::Run const &run, edm::EventSetup const &setup) final
 
virtual bool getCanSaveByLumi ()
 
- Public Member Functions inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
 EDProducer ()=default
 
 EDProducer (const EDProducer &)=delete
 
bool hasAbilityToProduceInBeginLumis () const final
 
bool hasAbilityToProduceInBeginProcessBlocks () const final
 
bool hasAbilityToProduceInBeginRuns () const final
 
bool hasAbilityToProduceInEndLumis () const final
 
bool hasAbilityToProduceInEndProcessBlocks () const final
 
bool hasAbilityToProduceInEndRuns () const final
 
const EDProduceroperator= (const EDProducer &)=delete
 

Public Attributes

MonitorElementmatch_tp_d0 = nullptr
 
MonitorElementmatch_tp_eta = nullptr
 
MonitorElementmatch_tp_pt = nullptr
 
MonitorElementmatch_tp_pt_zoom = nullptr
 
MonitorElementmatch_tp_VtxR = nullptr
 
MonitorElementmatch_tp_VtxZ = nullptr
 
MonitorElementres_eta = nullptr
 
MonitorElementres_pt = nullptr
 
MonitorElementres_ptRel = nullptr
 
MonitorElementresd0_eta0p7to1 = nullptr
 
MonitorElementresd0_eta0to0p7 = nullptr
 
MonitorElementresd0_eta1p2to1p6 = nullptr
 
MonitorElementresd0_eta1p6to2 = nullptr
 
MonitorElementresd0_eta1to1p2 = nullptr
 
MonitorElementresd0_eta2to2p4 = nullptr
 
MonitorElementreseta_eta0p7to1 = nullptr
 
MonitorElementreseta_eta0to0p7 = nullptr
 
MonitorElementreseta_eta1p2to1p6 = nullptr
 
MonitorElementreseta_eta1p6to2 = nullptr
 
MonitorElementreseta_eta1to1p2 = nullptr
 
MonitorElementreseta_eta2to2p4 = nullptr
 
MonitorElementresphi_eta0p7to1 = nullptr
 
MonitorElementresphi_eta0to0p7 = nullptr
 
MonitorElementresphi_eta1p2to1p6 = nullptr
 
MonitorElementresphi_eta1p6to2 = nullptr
 
MonitorElementresphi_eta1to1p2 = nullptr
 
MonitorElementresphi_eta2to2p4 = nullptr
 
MonitorElementrespt_eta0p7to1_pt2to3 = nullptr
 
MonitorElementrespt_eta0p7to1_pt3to8 = nullptr
 
MonitorElementrespt_eta0p7to1_pt8toInf = nullptr
 
MonitorElementrespt_eta0to0p7_pt2to3 = nullptr
 
MonitorElementrespt_eta0to0p7_pt3to8 = nullptr
 
MonitorElementrespt_eta0to0p7_pt8toInf = nullptr
 
MonitorElementrespt_eta1p2to1p6_pt2to3 = nullptr
 
MonitorElementrespt_eta1p2to1p6_pt3to8 = nullptr
 
MonitorElementrespt_eta1p2to1p6_pt8toInf = nullptr
 
MonitorElementrespt_eta1p6to2_pt2to3 = nullptr
 
MonitorElementrespt_eta1p6to2_pt3to8 = nullptr
 
MonitorElementrespt_eta1p6to2_pt8toInf = nullptr
 
MonitorElementrespt_eta1to1p2_pt2to3 = nullptr
 
MonitorElementrespt_eta1to1p2_pt3to8 = nullptr
 
MonitorElementrespt_eta1to1p2_pt8toInf = nullptr
 
MonitorElementrespt_eta2to2p4_pt2to3 = nullptr
 
MonitorElementrespt_eta2to2p4_pt3to8 = nullptr
 
MonitorElementrespt_eta2to2p4_pt8toInf = nullptr
 
MonitorElementresVtxZ_eta0p7to1 = nullptr
 
MonitorElementresVtxZ_eta0to0p7 = nullptr
 
MonitorElementresVtxZ_eta1p2to1p6 = nullptr
 
MonitorElementresVtxZ_eta1p6to2 = nullptr
 
MonitorElementresVtxZ_eta1to1p2 = nullptr
 
MonitorElementresVtxZ_eta2to2p4 = nullptr
 
MonitorElementtp_d0 = nullptr
 
MonitorElementtp_eta = nullptr
 
MonitorElementtp_pt = nullptr
 
MonitorElementtp_pt_zoom = nullptr
 
MonitorElementtp_VtxR = nullptr
 
MonitorElementtp_VtxZ = nullptr
 
MonitorElementtrackParts_Eta = nullptr
 
MonitorElementtrackParts_Phi = nullptr
 
MonitorElementtrackParts_Pt = nullptr
 

Private Attributes

edm::ParameterSet conf_
 
double L1Tk_maxChi2dof
 
int L1Tk_minNStub
 
const edm::ESGetToken
< TrackerTopology,
TrackerTopologyRcd
m_topoToken
 
std::string topFolderName_
 
double TP_maxEta
 
double TP_maxVtxZ
 
int TP_minNLayersStub
 
int TP_minNStub
 
double TP_minPt
 
edm::EDGetTokenT< std::vector
< TrackingParticle > > 
trackingParticleToken_
 
edm::EDGetTokenT
< TTClusterAssociationMap
< Ref_Phase2TrackerDigi_ > > 
ttClusterMCTruthToken_
 
edm::EDGetTokenT
< TTStubAssociationMap
< Ref_Phase2TrackerDigi_ > > 
ttStubMCTruthToken_
 
edm::EDGetTokenT
< TTTrackAssociationMap
< Ref_Phase2TrackerDigi_ > > 
ttTrackMCTruthToken_
 

Additional Inherited Members

- Public Types inherited from DQMEDAnalyzer
typedef dqm::reco::DQMStore DQMStore
 
typedef dqm::reco::MonitorElement MonitorElement
 
- Public Types inherited from edm::stream::EDProducer< edm::GlobalCache< DQMEDAnalyzerGlobalCache >, edm::EndRunProducer, edm::EndLuminosityBlockProducer, edm::Accumulator >
using CacheTypes = CacheContexts< T...>
 
using GlobalCache = typename CacheTypes::GlobalCache
 
using HasAbility = AbilityChecker< T...>
 
using InputProcessBlockCache = typename CacheTypes::InputProcessBlockCache
 
using LuminosityBlockCache = typename CacheTypes::LuminosityBlockCache
 
using LuminosityBlockContext = LuminosityBlockContextT< LuminosityBlockCache, RunCache, GlobalCache >
 
using LuminosityBlockSummaryCache = typename CacheTypes::LuminosityBlockSummaryCache
 
using RunCache = typename CacheTypes::RunCache
 
using RunContext = RunContextT< RunCache, GlobalCache >
 
using RunSummaryCache = typename CacheTypes::RunSummaryCache
 
- Static Public Member Functions inherited from DQMEDAnalyzer
static void globalEndJob (DQMEDAnalyzerGlobalCache const *)
 
static void globalEndLuminosityBlockProduce (edm::LuminosityBlock &lumi, edm::EventSetup const &setup, LuminosityBlockContext const *context)
 
static void globalEndRunProduce (edm::Run &run, edm::EventSetup const &setup, RunContext const *context)
 
static std::unique_ptr
< DQMEDAnalyzerGlobalCache
initializeGlobalCache (edm::ParameterSet const &)
 
- Protected Member Functions inherited from DQMEDAnalyzer
uint64_t meId () const
 
- Protected Attributes inherited from DQMEDAnalyzer
edm::EDPutTokenT< DQMTokenlumiToken_
 
edm::EDPutTokenT< DQMTokenrunToken_
 
unsigned int streamId_
 

Detailed Description

Definition at line 23 of file OuterTrackerMonitorTrackingParticles.h.

Constructor & Destructor Documentation

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

Definition at line 40 of file OuterTrackerMonitorTrackingParticles.cc.

References conf_, edm::ParameterSet::getParameter(), L1Tk_maxChi2dof, L1Tk_minNStub, AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, TP_maxEta, TP_maxVtxZ, TP_minNLayersStub, TP_minNStub, TP_minPt, trackingParticleToken_, ttClusterMCTruthToken_, ttStubMCTruthToken_, and ttTrackMCTruthToken_.

41  : m_topoToken(esConsumes()), conf_(iConfig) {
42  topFolderName_ = conf_.getParameter<std::string>("TopFolderName");
44  consumes<std::vector<TrackingParticle>>(conf_.getParameter<edm::InputTag>("trackingParticleToken"));
46  consumes<TTStubAssociationMap<Ref_Phase2TrackerDigi_>>(conf_.getParameter<edm::InputTag>("MCTruthStubInputTag"));
47  ttClusterMCTruthToken_ = consumes<TTClusterAssociationMap<Ref_Phase2TrackerDigi_>>(
48  conf_.getParameter<edm::InputTag>("MCTruthClusterInputTag"));
49  ttTrackMCTruthToken_ = consumes<TTTrackAssociationMap<Ref_Phase2TrackerDigi_>>(
50  conf_.getParameter<edm::InputTag>("MCTruthTrackInputTag"));
51  L1Tk_minNStub = conf_.getParameter<int>("L1Tk_minNStub"); // min number of stubs in the track
52  L1Tk_maxChi2dof = conf_.getParameter<double>("L1Tk_maxChi2dof"); // maximum chi2/dof of the track
53  TP_minNStub = conf_.getParameter<int>("TP_minNStub"); // min number of stubs in the tracking particle to
54  //min number of layers with stubs in the tracking particle to consider matching
55  TP_minNLayersStub = conf_.getParameter<int>("TP_minNLayersStub");
56  TP_minPt = conf_.getParameter<double>("TP_minPt"); // min pT to consider matching
57  TP_maxEta = conf_.getParameter<double>("TP_maxEta"); // max eta to consider matching
58  TP_maxVtxZ = conf_.getParameter<double>("TP_maxVtxZ"); // max vertZ (or z0) to consider matching
59 }
edm::EDGetTokenT< std::vector< TrackingParticle > > trackingParticleToken_
edm::EDGetTokenT< TTTrackAssociationMap< Ref_Phase2TrackerDigi_ > > ttTrackMCTruthToken_
edm::EDGetTokenT< TTClusterAssociationMap< Ref_Phase2TrackerDigi_ > > ttClusterMCTruthToken_
edm::EDGetTokenT< TTStubAssociationMap< Ref_Phase2TrackerDigi_ > > ttStubMCTruthToken_
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > m_topoToken
ESGetTokenH3DDVariant esConsumes(std::string const &Reccord, edm::ConsumesCollector &)
Definition: DeDxTools.cc:283
OuterTrackerMonitorTrackingParticles::~OuterTrackerMonitorTrackingParticles ( )
overridedefault

Member Function Documentation

void OuterTrackerMonitorTrackingParticles::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overridevirtual

Reimplemented from DQMEDAnalyzer.

Definition at line 66 of file OuterTrackerMonitorTrackingParticles.cc.

References A, funct::cos(), funct::exp(), dqm::impl::MonitorElement::Fill(), edm::Event::getByToken(), edm::EventSetup::getData(), isum, edm::HandleBase::isValid(), L1Tk_maxChi2dof, L1Tk_minNStub, phase1PixelTopology::layer, TrackerTopology::layer(), m_topoToken, match_tp_d0, match_tp_eta, match_tp_pt, match_tp_pt_zoom, match_tp_VtxR, match_tp_VtxZ, pi, res_eta, res_pt, res_ptRel, resd0_eta0p7to1, resd0_eta0to0p7, resd0_eta1p2to1p6, resd0_eta1p6to2, resd0_eta1to1p2, resd0_eta2to2p4, reseta_eta0p7to1, reseta_eta0to0p7, reseta_eta1p2to1p6, reseta_eta1p6to2, reseta_eta1to1p2, reseta_eta2to2p4, resphi_eta0p7to1, resphi_eta0to0p7, resphi_eta1p2to1p6, resphi_eta1p6to2, resphi_eta1to1p2, resphi_eta2to2p4, respt_eta0p7to1_pt2to3, respt_eta0p7to1_pt3to8, respt_eta0p7to1_pt8toInf, respt_eta0to0p7_pt2to3, respt_eta0to0p7_pt3to8, respt_eta0to0p7_pt8toInf, respt_eta1p2to1p6_pt2to3, respt_eta1p2to1p6_pt3to8, respt_eta1p2to1p6_pt8toInf, respt_eta1p6to2_pt2to3, respt_eta1p6to2_pt3to8, respt_eta1p6to2_pt8toInf, respt_eta1to1p2_pt2to3, respt_eta1to1p2_pt3to8, respt_eta1to1p2_pt8toInf, respt_eta2to2p4_pt2to3, respt_eta2to2p4_pt3to8, respt_eta2to2p4_pt8toInf, resVtxZ_eta0p7to1, resVtxZ_eta0to0p7, resVtxZ_eta1p2to1p6, resVtxZ_eta1p6to2, resVtxZ_eta1to1p2, resVtxZ_eta2to2p4, funct::sin(), mathSSE::sqrt(), funct::tan(), StripSubdetector::TID, StripSubdetector::TOB, tp_d0, tp_eta, TP_maxEta, TP_maxVtxZ, TP_minNLayersStub, TP_minNStub, TP_minPt, tp_pt, tp_pt_zoom, tp_VtxR, tp_VtxZ, trackingParticleToken_, trackParts_Eta, trackParts_Phi, trackParts_Pt, ttClusterMCTruthToken_, ttStubMCTruthToken_, and ttTrackMCTruthToken_.

66  {
67  // Tracking Particles
68  edm::Handle<std::vector<TrackingParticle>> trackingParticleHandle;
69  iEvent.getByToken(trackingParticleToken_, trackingParticleHandle);
70 
71  // Truth Association Maps
73  iEvent.getByToken(ttTrackMCTruthToken_, MCTruthTTTrackHandle);
75  iEvent.getByToken(ttClusterMCTruthToken_, MCTruthTTClusterHandle);
77  iEvent.getByToken(ttStubMCTruthToken_, MCTruthTTStubHandle);
78 
79  // Geometries
80  const TrackerTopology *const tTopo = &iSetup.getData(m_topoToken);
81 
82  // Loop over tracking particles
83  int this_tp = 0;
84  for (const auto &iterTP : *trackingParticleHandle) {
85  edm::Ptr<TrackingParticle> tp_ptr(trackingParticleHandle, this_tp);
86  this_tp++;
87 
88  // int tmp_eventid = iterTP.eventId().event();
89  float tmp_tp_pt = iterTP.pt();
90  float tmp_tp_phi = iterTP.phi();
91  float tmp_tp_eta = iterTP.eta();
92 
93  //Calculate nLayers variable
94  std::vector<edm::Ref<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>, TTStub<Ref_Phase2TrackerDigi_>>>
95  theStubRefs = MCTruthTTStubHandle->findTTStubRefs(tp_ptr);
96 
97  int hasStubInLayer[11] = {0};
98  for (unsigned int is = 0; is < theStubRefs.size(); is++) {
99  DetId detid(theStubRefs.at(is)->getDetId());
100  int layer = -1;
101  if (detid.subdetId() == StripSubdetector::TOB)
102  layer = static_cast<int>(tTopo->layer(detid)) - 1; //fill in array as entries 0-5
103  else if (detid.subdetId() == StripSubdetector::TID)
104  layer = static_cast<int>(tTopo->layer(detid)) + 5; //fill in array as entries 6-10
105 
106  //treat genuine stubs separately (==2 is genuine, ==1 is not)
107  if (MCTruthTTStubHandle->findTrackingParticlePtr(theStubRefs.at(is)).isNull() && hasStubInLayer[layer] < 2)
108  hasStubInLayer[layer] = 1;
109  else
110  hasStubInLayer[layer] = 2;
111  }
112 
113  int nStubLayerTP = 0;
114  for (int isum = 0; isum < 11; isum++) {
115  if (hasStubInLayer[isum] >= 1)
116  nStubLayerTP += 1;
117  }
118 
119  if (std::fabs(tmp_tp_eta) > TP_maxEta)
120  continue;
121  // Fill the 1D distribution plots for tracking particles, to monitor change in stub definition
122  if (tmp_tp_pt > TP_minPt && nStubLayerTP >= TP_minNLayersStub) {
123  trackParts_Pt->Fill(tmp_tp_pt);
124  trackParts_Eta->Fill(tmp_tp_eta);
125  trackParts_Phi->Fill(tmp_tp_phi);
126  }
127 
128  // if (TP_select_eventid == 0 && tmp_eventid != 0)
129  // continue; //only care about tracking particles from the primary interaction for efficiency/resolution
130  int nStubTP = -1;
131  if (MCTruthTTStubHandle.isValid()) {
132  std::vector<edm::Ref<edmNew::DetSetVector<TTStub<Ref_Phase2TrackerDigi_>>, TTStub<Ref_Phase2TrackerDigi_>>>
133  theStubRefs = MCTruthTTStubHandle->findTTStubRefs(tp_ptr);
134  nStubTP = (int)theStubRefs.size();
135  }
136  if (MCTruthTTClusterHandle.isValid() && MCTruthTTClusterHandle->findTTClusterRefs(tp_ptr).empty())
137  continue;
138 
139  float tmp_tp_vz = iterTP.vz();
140  float tmp_tp_vx = iterTP.vx();
141  float tmp_tp_vy = iterTP.vy();
142  float tmp_tp_charge = tp_ptr->charge();
143  int tmp_tp_pdgid = iterTP.pdgId();
144 
145  // ----------------------------------------------------------------------------------------------
146  // calculate d0 and VtxZ propagated back to the IP, pass if greater than max
147  // VtxZ
148  float tmp_tp_t = tan(2.0 * atan(1.0) - 2.0 * atan(exp(-tmp_tp_eta)));
149  float delx = -tmp_tp_vx;
150  float dely = -tmp_tp_vy;
151  float K = 0.01 * 0.5696 / tmp_tp_pt * tmp_tp_charge; // curvature correction
152  float A = 1. / (2. * K);
153  float tmp_tp_x0p = delx - A * sin(tmp_tp_phi);
154  float tmp_tp_y0p = dely + A * cos(tmp_tp_phi);
155  float tmp_tp_rp = sqrt(tmp_tp_x0p * tmp_tp_x0p + tmp_tp_y0p * tmp_tp_y0p);
156  static double pi = 4.0 * atan(1.0);
157  float delphi = tmp_tp_phi - atan2(-K * tmp_tp_x0p, K * tmp_tp_y0p);
158  if (delphi < -pi)
159  delphi += 2.0 * pi;
160  if (delphi > pi)
161  delphi -= 2.0 * pi;
162 
163  float tmp_tp_VtxZ = tmp_tp_vz + tmp_tp_t * delphi / (2.0 * K);
164  float tmp_tp_VtxR = sqrt(tmp_tp_vx * tmp_tp_vx + tmp_tp_vy * tmp_tp_vy);
165  float tmp_tp_d0 = tmp_tp_charge * tmp_tp_rp - (1. / (2. * K));
166 
167  // simpler formula for d0, in cases where the charge is zero:
168  // https://github.com/cms-sw/cmssw/blob/master/DataFormats/TrackReco/interface/TrackBase.h
169  float other_d0 = -tmp_tp_vx * sin(tmp_tp_phi) + tmp_tp_vy * cos(tmp_tp_phi);
170  tmp_tp_d0 = tmp_tp_d0 * (-1); // fix d0 sign
171  if (K == 0) {
172  tmp_tp_d0 = other_d0;
173  tmp_tp_VtxZ = tmp_tp_vz;
174  }
175  if (std::fabs(tmp_tp_VtxZ) > TP_maxVtxZ)
176  continue;
177 
178  // To make efficiency plots where the denominator has NO stub cuts
179  if (tmp_tp_VtxR < 1.0) {
180  tp_pt->Fill(tmp_tp_pt); //pT effic, no cut on pT, but VtxR cut
181  if (tmp_tp_pt <= 10)
182  tp_pt_zoom->Fill(tmp_tp_pt); //pT effic, no cut on pT, but VtxR cut
183  }
184  if (tmp_tp_pt < TP_minPt)
185  continue;
186  tp_VtxR->Fill(tmp_tp_VtxR); // VtxR efficiency has no cut on VtxR
187  if (tmp_tp_VtxR > 1.0)
188  continue;
189  tp_eta->Fill(tmp_tp_eta);
190  tp_d0->Fill(tmp_tp_d0);
191  tp_VtxZ->Fill(tmp_tp_VtxZ);
192 
193  if (nStubTP < TP_minNStub || nStubLayerTP < TP_minNLayersStub)
194  continue; //nStub cut not included in denominator of efficiency plots
195 
196  // ----------------------------------------------------------------------------------------------
197  // look for L1 tracks matched to the tracking particle
198  int tp_nMatch = 0;
199  int i_track = -1;
200  float i_chi2dof = 99999;
201  if (MCTruthTTTrackHandle.isValid()) {
202  std::vector<edm::Ptr<TTTrack<Ref_Phase2TrackerDigi_>>> matchedTracks =
203  MCTruthTTTrackHandle->findTTTrackPtrs(tp_ptr);
204 
205  // ----------------------------------------------------------------------------------------------
206  // loop over matched L1 tracks
207  // here, "match" means tracks that can be associated to a TrackingParticle
208  // with at least one hit of at least one of its clusters
209  // https://twiki.cern.ch/twiki/bin/viewauth/CMS/SLHCTrackerTriggerSWTools#MC_truth_for_TTTrack
210  int trkCounter = 0;
211  for (const auto &thisTrack : matchedTracks) {
212  if (!MCTruthTTTrackHandle->isGenuine(thisTrack))
213  continue;
214  // ----------------------------------------------------------------------------------------------
215  // further require L1 track to be (loosely) genuine, that there is only
216  // one TP matched to the track
217  // + have >= L1Tk_minNStub stubs for it to be a valid match
218  int tmp_trk_nstub = thisTrack->getStubRefs().size();
219  if (tmp_trk_nstub < L1Tk_minNStub)
220  continue;
221  float dmatch_pt = 999;
222  float dmatch_eta = 999;
223  float dmatch_phi = 999;
224  int match_id = 999;
225 
226  edm::Ptr<TrackingParticle> my_tp = MCTruthTTTrackHandle->findTrackingParticlePtr(thisTrack);
227  dmatch_pt = std::fabs(my_tp->p4().pt() - tmp_tp_pt);
228  dmatch_eta = std::fabs(my_tp->p4().eta() - tmp_tp_eta);
229  dmatch_phi = std::fabs(my_tp->p4().phi() - tmp_tp_phi);
230  match_id = my_tp->pdgId();
231  float tmp_trk_chi2dof = thisTrack->chi2Red();
232 
233  // ensure that track is uniquely matched to the TP we are looking at!
234  if (dmatch_pt < 0.1 && dmatch_eta < 0.1 && dmatch_phi < 0.1 && tmp_tp_pdgid == match_id) {
235  tp_nMatch++;
236  if (i_track < 0 || tmp_trk_chi2dof < i_chi2dof) {
237  i_track = trkCounter;
238  i_chi2dof = tmp_trk_chi2dof;
239  }
240  }
241  trkCounter++;
242  } // end loop over matched L1 tracks
243 
244  if (tp_nMatch < 1)
245  continue;
246  // Get information on the matched tracks
247  float tmp_matchtrk_pt = -999;
248  float tmp_matchtrk_eta = -999;
249  float tmp_matchtrk_phi = -999;
250  float tmp_matchtrk_VtxZ = -999;
251  float tmp_matchtrk_chi2dof = -999;
252  int tmp_matchTrk_nStub = -999;
253  float tmp_matchtrk_d0 = -999;
254 
255  tmp_matchtrk_pt = matchedTracks[i_track]->momentum().perp();
256  tmp_matchtrk_eta = matchedTracks[i_track]->momentum().eta();
257  tmp_matchtrk_phi = matchedTracks[i_track]->momentum().phi();
258  tmp_matchtrk_VtxZ = matchedTracks[i_track]->z0();
259  tmp_matchtrk_chi2dof = matchedTracks[i_track]->chi2Red();
260  tmp_matchTrk_nStub = (int)matchedTracks[i_track]->getStubRefs().size();
261 
262  //for d0
263  float tmp_matchtrk_x0 = matchedTracks[i_track]->POCA().x();
264  float tmp_matchtrk_y0 = matchedTracks[i_track]->POCA().y();
265  tmp_matchtrk_d0 = -tmp_matchtrk_x0 * sin(tmp_matchtrk_phi) + tmp_matchtrk_y0 * cos(tmp_matchtrk_phi);
266 
267  //Add cuts for the matched tracks, numerator
268  if (tmp_matchTrk_nStub < L1Tk_minNStub || tmp_matchtrk_chi2dof > L1Tk_maxChi2dof)
269  continue;
270 
271  // fill matched track histograms (if passes all criteria)
272  match_tp_pt->Fill(tmp_tp_pt);
273  if (tmp_tp_pt > 0 && tmp_tp_pt <= 10)
274  match_tp_pt_zoom->Fill(tmp_tp_pt);
275  match_tp_eta->Fill(tmp_tp_eta);
276  match_tp_d0->Fill(tmp_tp_d0);
277  match_tp_VtxR->Fill(tmp_tp_VtxR);
278  match_tp_VtxZ->Fill(tmp_tp_VtxZ);
279 
280  // Eta and pT histograms for resolution
281  float pt_diff = tmp_matchtrk_pt - tmp_tp_pt;
282  float pt_res = pt_diff / tmp_tp_pt;
283  float eta_res = tmp_matchtrk_eta - tmp_tp_eta;
284  float phi_res = tmp_matchtrk_phi - tmp_tp_phi;
285  float VtxZ_res = tmp_matchtrk_VtxZ - tmp_tp_VtxZ;
286  float d0_res = tmp_matchtrk_d0 - tmp_tp_d0;
287 
288  // fill total resolution histograms
289  res_pt->Fill(pt_diff);
290  res_ptRel->Fill(pt_res);
291  res_eta->Fill(eta_res);
292 
293  // Fill resolution plots for different abs(eta) bins:
294  // (0, 0.7), (0.7, 1.0), (1.0, 1.2), (1.2, 1.6), (1.6, 2.0), (2.0, 2.4)
295  if (std::fabs(tmp_tp_eta) >= 0 && std::fabs(tmp_tp_eta) < 0.7) {
296  reseta_eta0to0p7->Fill(eta_res);
297  resphi_eta0to0p7->Fill(phi_res);
298  resVtxZ_eta0to0p7->Fill(VtxZ_res);
299  resd0_eta0to0p7->Fill(d0_res);
300  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
301  respt_eta0to0p7_pt2to3->Fill(pt_res);
302  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
303  respt_eta0to0p7_pt3to8->Fill(pt_res);
304  else if (tmp_tp_pt >= 8)
306  } else if (std::fabs(tmp_tp_eta) >= 0.7 && std::fabs(tmp_tp_eta) < 1.0) {
307  reseta_eta0p7to1->Fill(eta_res);
308  resphi_eta0p7to1->Fill(phi_res);
309  resVtxZ_eta0p7to1->Fill(VtxZ_res);
310  resd0_eta0p7to1->Fill(d0_res);
311  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
312  respt_eta0p7to1_pt2to3->Fill(pt_res);
313  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
314  respt_eta0p7to1_pt3to8->Fill(pt_res);
315  else if (tmp_tp_pt >= 8)
317  } else if (std::fabs(tmp_tp_eta) >= 1.0 && std::fabs(tmp_tp_eta) < 1.2) {
318  reseta_eta1to1p2->Fill(eta_res);
319  resphi_eta1to1p2->Fill(phi_res);
320  resVtxZ_eta1to1p2->Fill(VtxZ_res);
321  resd0_eta1to1p2->Fill(d0_res);
322  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
323  respt_eta1to1p2_pt2to3->Fill(pt_res);
324  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
325  respt_eta1to1p2_pt3to8->Fill(pt_res);
326  else if (tmp_tp_pt >= 8)
328  } else if (std::fabs(tmp_tp_eta) >= 1.2 && std::fabs(tmp_tp_eta) < 1.6) {
329  reseta_eta1p2to1p6->Fill(eta_res);
330  resphi_eta1p2to1p6->Fill(phi_res);
331  resVtxZ_eta1p2to1p6->Fill(VtxZ_res);
332  resd0_eta1p2to1p6->Fill(d0_res);
333  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
335  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
337  else if (tmp_tp_pt >= 8)
339  } else if (std::fabs(tmp_tp_eta) >= 1.6 && std::fabs(tmp_tp_eta) < 2.0) {
340  reseta_eta1p6to2->Fill(eta_res);
341  resphi_eta1p6to2->Fill(phi_res);
342  resVtxZ_eta1p6to2->Fill(VtxZ_res);
343  resd0_eta1p6to2->Fill(d0_res);
344  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
345  respt_eta1p6to2_pt2to3->Fill(pt_res);
346  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
347  respt_eta1p6to2_pt3to8->Fill(pt_res);
348  else if (tmp_tp_pt >= 8)
350  } else if (std::fabs(tmp_tp_eta) >= 2.0 && std::fabs(tmp_tp_eta) <= 2.4) {
351  reseta_eta2to2p4->Fill(eta_res);
352  resphi_eta2to2p4->Fill(phi_res);
353  resVtxZ_eta2to2p4->Fill(VtxZ_res);
354  resd0_eta2to2p4->Fill(d0_res);
355  if (tmp_tp_pt >= 2 && tmp_tp_pt < 3)
356  respt_eta2to2p4_pt2to3->Fill(pt_res);
357  else if (tmp_tp_pt >= 3 && tmp_tp_pt < 8)
358  respt_eta2to2p4_pt3to8->Fill(pt_res);
359  else if (tmp_tp_pt >= 8)
361  }
362  } //if MC TTTrack handle is valid
363  } //end loop over tracking particles
364 } // end of method
bool getByToken(EDGetToken token, Handle< PROD > &result) const
Definition: Event.h:539
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Exp< T >::type exp(const T &t)
Definition: Exp.h:22
double isum
constexpr std::array< uint8_t, layerIndexSize > layer
const Double_t pi
edm::EDGetTokenT< std::vector< TrackingParticle > > trackingParticleToken_
void Fill(long long x)
bool getData(T &iHolder) const
Definition: EventSetup.h:122
edm::EDGetTokenT< TTTrackAssociationMap< Ref_Phase2TrackerDigi_ > > ttTrackMCTruthToken_
T sqrt(T t)
Definition: SSEVec.h:19
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
edm::EDGetTokenT< TTClusterAssociationMap< Ref_Phase2TrackerDigi_ > > ttClusterMCTruthToken_
static constexpr auto TOB
bool isValid() const
Definition: HandleBase.h:70
Class to store the L1 Track Trigger stubs.
Definition: TTStub.h:22
edm::EDGetTokenT< TTStubAssociationMap< Ref_Phase2TrackerDigi_ > > ttStubMCTruthToken_
Definition: DetId.h:17
const edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > m_topoToken
unsigned int layer(const DetId &id) const
Definition: APVGainStruct.h:7
static constexpr auto TID
void OuterTrackerMonitorTrackingParticles::bookHistograms ( DQMStore::IBooker iBooker,
edm::Run const &  run,
edm::EventSetup const &  es 
)
overridevirtual

Implements DQMEDAnalyzer.

Definition at line 368 of file OuterTrackerMonitorTrackingParticles.cc.

References dqm::implementation::IBooker::book1D(), conf_, edm::ParameterSet::getParameter(), match_tp_d0, match_tp_eta, match_tp_pt, match_tp_pt_zoom, match_tp_VtxR, match_tp_VtxZ, res_eta, res_pt, res_ptRel, resd0_eta0p7to1, resd0_eta0to0p7, resd0_eta1p2to1p6, resd0_eta1p6to2, resd0_eta1to1p2, resd0_eta2to2p4, reseta_eta0p7to1, reseta_eta0to0p7, reseta_eta1p2to1p6, reseta_eta1p6to2, reseta_eta1to1p2, reseta_eta2to2p4, resphi_eta0p7to1, resphi_eta0to0p7, resphi_eta1p2to1p6, resphi_eta1p6to2, resphi_eta1to1p2, resphi_eta2to2p4, respt_eta0p7to1_pt2to3, respt_eta0p7to1_pt3to8, respt_eta0p7to1_pt8toInf, respt_eta0to0p7_pt2to3, respt_eta0to0p7_pt3to8, respt_eta0to0p7_pt8toInf, respt_eta1p2to1p6_pt2to3, respt_eta1p2to1p6_pt3to8, respt_eta1p2to1p6_pt8toInf, respt_eta1p6to2_pt2to3, respt_eta1p6to2_pt3to8, respt_eta1p6to2_pt8toInf, respt_eta1to1p2_pt2to3, respt_eta1to1p2_pt3to8, respt_eta1to1p2_pt8toInf, respt_eta2to2p4_pt2to3, respt_eta2to2p4_pt3to8, respt_eta2to2p4_pt8toInf, resVtxZ_eta0p7to1, resVtxZ_eta0to0p7, resVtxZ_eta1p2to1p6, resVtxZ_eta1p6to2, resVtxZ_eta1to1p2, resVtxZ_eta2to2p4, dqm::impl::MonitorElement::setAxisTitle(), dqm::implementation::NavigatorBase::setCurrentFolder(), AlCaHLTBitMon_QueryRunRegistry::string, topFolderName_, tp_d0, tp_eta, tp_pt, tp_pt_zoom, tp_VtxR, tp_VtxZ, trackParts_Eta, trackParts_Phi, and trackParts_Pt.

370  {
371  // Histogram setup and definitions
373  iBooker.setCurrentFolder(topFolderName_ + "/trackParticles");
374 
375  // 1D: pT
376  edm::ParameterSet psTrackParts_Pt = conf_.getParameter<edm::ParameterSet>("TH1TrackParts_Pt");
377  HistoName = "trackParts_Pt";
378  trackParts_Pt = iBooker.book1D(HistoName,
379  HistoName,
380  psTrackParts_Pt.getParameter<int32_t>("Nbinsx"),
381  psTrackParts_Pt.getParameter<double>("xmin"),
382  psTrackParts_Pt.getParameter<double>("xmax"));
383  trackParts_Pt->setAxisTitle("p_{T} [GeV]", 1);
384  trackParts_Pt->setAxisTitle("# tracking particles", 2);
385 
386  // 1D: eta
387  edm::ParameterSet psTrackParts_Eta = conf_.getParameter<edm::ParameterSet>("TH1TrackParts_Eta");
388  HistoName = "trackParts_Eta";
389  trackParts_Eta = iBooker.book1D(HistoName,
390  HistoName,
391  psTrackParts_Eta.getParameter<int32_t>("Nbinsx"),
392  psTrackParts_Eta.getParameter<double>("xmin"),
393  psTrackParts_Eta.getParameter<double>("xmax"));
394  trackParts_Eta->setAxisTitle("#eta", 1);
395  trackParts_Eta->setAxisTitle("# tracking particles", 2);
396 
397  // 1D: phi
398  edm::ParameterSet psTrackParts_Phi = conf_.getParameter<edm::ParameterSet>("TH1TrackParts_Phi");
399  HistoName = "trackParts_Phi";
400  trackParts_Phi = iBooker.book1D(HistoName,
401  HistoName,
402  psTrackParts_Phi.getParameter<int32_t>("Nbinsx"),
403  psTrackParts_Phi.getParameter<double>("xmin"),
404  psTrackParts_Phi.getParameter<double>("xmax"));
405  trackParts_Phi->setAxisTitle("#phi", 1);
406  trackParts_Phi->setAxisTitle("# tracking particles", 2);
407 
408  // 1D plots for efficiency
409  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/Efficiency");
410  // pT
411  edm::ParameterSet psEffic_pt = conf_.getParameter<edm::ParameterSet>("TH1Effic_pt");
412  HistoName = "tp_pt";
413  tp_pt = iBooker.book1D(HistoName,
414  HistoName,
415  psEffic_pt.getParameter<int32_t>("Nbinsx"),
416  psEffic_pt.getParameter<double>("xmin"),
417  psEffic_pt.getParameter<double>("xmax"));
418  tp_pt->setAxisTitle("p_{T} [GeV]", 1);
419  tp_pt->setAxisTitle("# tracking particles", 2);
420 
421  // Matched TP's pT
422  HistoName = "match_tp_pt";
423  match_tp_pt = iBooker.book1D(HistoName,
424  HistoName,
425  psEffic_pt.getParameter<int32_t>("Nbinsx"),
426  psEffic_pt.getParameter<double>("xmin"),
427  psEffic_pt.getParameter<double>("xmax"));
428  match_tp_pt->setAxisTitle("p_{T} [GeV]", 1);
429  match_tp_pt->setAxisTitle("# matched tracking particles", 2);
430 
431  // pT zoom (0-10 GeV)
432  edm::ParameterSet psEffic_pt_zoom = conf_.getParameter<edm::ParameterSet>("TH1Effic_pt_zoom");
433  HistoName = "tp_pt_zoom";
434  tp_pt_zoom = iBooker.book1D(HistoName,
435  HistoName,
436  psEffic_pt_zoom.getParameter<int32_t>("Nbinsx"),
437  psEffic_pt_zoom.getParameter<double>("xmin"),
438  psEffic_pt_zoom.getParameter<double>("xmax"));
439  tp_pt_zoom->setAxisTitle("p_{T} [GeV]", 1);
440  tp_pt_zoom->setAxisTitle("# tracking particles", 2);
441 
442  // Matched pT zoom (0-10 GeV)
443  HistoName = "match_tp_pt_zoom";
444  match_tp_pt_zoom = iBooker.book1D(HistoName,
445  HistoName,
446  psEffic_pt_zoom.getParameter<int32_t>("Nbinsx"),
447  psEffic_pt_zoom.getParameter<double>("xmin"),
448  psEffic_pt_zoom.getParameter<double>("xmax"));
449  match_tp_pt_zoom->setAxisTitle("p_{T} [GeV]", 1);
450  match_tp_pt_zoom->setAxisTitle("# matched tracking particles", 2);
451 
452  // eta
453  edm::ParameterSet psEffic_eta = conf_.getParameter<edm::ParameterSet>("TH1Effic_eta");
454  HistoName = "tp_eta";
455  tp_eta = iBooker.book1D(HistoName,
456  HistoName,
457  psEffic_eta.getParameter<int32_t>("Nbinsx"),
458  psEffic_eta.getParameter<double>("xmin"),
459  psEffic_eta.getParameter<double>("xmax"));
460  tp_eta->setAxisTitle("#eta", 1);
461  tp_eta->setAxisTitle("# tracking particles", 2);
462 
463  // Matched eta
464  HistoName = "match_tp_eta";
465  match_tp_eta = iBooker.book1D(HistoName,
466  HistoName,
467  psEffic_eta.getParameter<int32_t>("Nbinsx"),
468  psEffic_eta.getParameter<double>("xmin"),
469  psEffic_eta.getParameter<double>("xmax"));
470  match_tp_eta->setAxisTitle("#eta", 1);
471  match_tp_eta->setAxisTitle("# matched tracking particles", 2);
472 
473  // d0
474  edm::ParameterSet psEffic_d0 = conf_.getParameter<edm::ParameterSet>("TH1Effic_d0");
475  HistoName = "tp_d0";
476  tp_d0 = iBooker.book1D(HistoName,
477  HistoName,
478  psEffic_d0.getParameter<int32_t>("Nbinsx"),
479  psEffic_d0.getParameter<double>("xmin"),
480  psEffic_d0.getParameter<double>("xmax"));
481  tp_d0->setAxisTitle("d_{0} [cm]", 1);
482  tp_d0->setAxisTitle("# tracking particles", 2);
483 
484  // Matched d0
485  HistoName = "match_tp_d0";
486  match_tp_d0 = iBooker.book1D(HistoName,
487  HistoName,
488  psEffic_d0.getParameter<int32_t>("Nbinsx"),
489  psEffic_d0.getParameter<double>("xmin"),
490  psEffic_d0.getParameter<double>("xmax"));
491  match_tp_d0->setAxisTitle("d_{0} [cm]", 1);
492  match_tp_d0->setAxisTitle("# matched tracking particles", 2);
493 
494  // VtxR (also known as vxy)
495  edm::ParameterSet psEffic_VtxR = conf_.getParameter<edm::ParameterSet>("TH1Effic_VtxR");
496  HistoName = "tp_VtxR";
497  tp_VtxR = iBooker.book1D(HistoName,
498  HistoName,
499  psEffic_VtxR.getParameter<int32_t>("Nbinsx"),
500  psEffic_VtxR.getParameter<double>("xmin"),
501  psEffic_VtxR.getParameter<double>("xmax"));
502  tp_VtxR->setAxisTitle("d_{xy} [cm]", 1);
503  tp_VtxR->setAxisTitle("# tracking particles", 2);
504 
505  // Matched VtxR
506  HistoName = "match_tp_VtxR";
507  match_tp_VtxR = iBooker.book1D(HistoName,
508  HistoName,
509  psEffic_VtxR.getParameter<int32_t>("Nbinsx"),
510  psEffic_VtxR.getParameter<double>("xmin"),
511  psEffic_VtxR.getParameter<double>("xmax"));
512  match_tp_VtxR->setAxisTitle("d_{xy} [cm]", 1);
513  match_tp_VtxR->setAxisTitle("# matched tracking particles", 2);
514 
515  // VtxZ
516  edm::ParameterSet psEffic_VtxZ = conf_.getParameter<edm::ParameterSet>("TH1Effic_VtxZ");
517  HistoName = "tp_VtxZ";
518  tp_VtxZ = iBooker.book1D(HistoName,
519  HistoName,
520  psEffic_VtxZ.getParameter<int32_t>("Nbinsx"),
521  psEffic_VtxZ.getParameter<double>("xmin"),
522  psEffic_VtxZ.getParameter<double>("xmax"));
523  tp_VtxZ->setAxisTitle("z_{0} [cm]", 1);
524  tp_VtxZ->setAxisTitle("# tracking particles", 2);
525 
526  // Matched d0
527  HistoName = "match_tp_VtxZ";
528  match_tp_VtxZ = iBooker.book1D(HistoName,
529  HistoName,
530  psEffic_VtxZ.getParameter<int32_t>("Nbinsx"),
531  psEffic_VtxZ.getParameter<double>("xmin"),
532  psEffic_VtxZ.getParameter<double>("xmax"));
533  match_tp_VtxZ->setAxisTitle("z_{0} [cm]", 1);
534  match_tp_VtxZ->setAxisTitle("# matched tracking particles", 2);
535 
536  // 1D plots for resolution
537  iBooker.setCurrentFolder(topFolderName_ + "/Tracks/Resolution");
538  // full pT
539  edm::ParameterSet psRes_pt = conf_.getParameter<edm::ParameterSet>("TH1Res_pt");
540  HistoName = "res_pt";
541  res_pt = iBooker.book1D(HistoName,
542  HistoName,
543  psRes_pt.getParameter<int32_t>("Nbinsx"),
544  psRes_pt.getParameter<double>("xmin"),
545  psRes_pt.getParameter<double>("xmax"));
546  res_pt->setAxisTitle("p_{T} [GeV]", 1);
547  res_pt->setAxisTitle("# tracking particles", 2);
548 
549  // Full eta
550  edm::ParameterSet psRes_eta = conf_.getParameter<edm::ParameterSet>("TH1Res_eta");
551  HistoName = "res_eta";
552  res_eta = iBooker.book1D(HistoName,
553  HistoName,
554  psRes_eta.getParameter<int32_t>("Nbinsx"),
555  psRes_eta.getParameter<double>("xmin"),
556  psRes_eta.getParameter<double>("xmax"));
557  res_eta->setAxisTitle("#eta", 1);
558  res_eta->setAxisTitle("# tracking particles", 2);
559 
560  // Relative pT
561  edm::ParameterSet psRes_ptRel = conf_.getParameter<edm::ParameterSet>("TH1Res_ptRel");
562  HistoName = "res_ptRel";
563  res_ptRel = iBooker.book1D(HistoName,
564  HistoName,
565  psRes_ptRel.getParameter<int32_t>("Nbinsx"),
566  psRes_ptRel.getParameter<double>("xmin"),
567  psRes_ptRel.getParameter<double>("xmax"));
568  res_ptRel->setAxisTitle("Relative p_{T} [GeV]", 1);
569  res_ptRel->setAxisTitle("# tracking particles", 2);
570 
571  // Eta parts (for resolution)
572  // Eta 1 (0 to 0.7)
573  HistoName = "reseta_eta0to0p7";
574  reseta_eta0to0p7 = iBooker.book1D(HistoName,
575  HistoName,
576  psRes_eta.getParameter<int32_t>("Nbinsx"),
577  psRes_eta.getParameter<double>("xmin"),
578  psRes_eta.getParameter<double>("xmax"));
579  reseta_eta0to0p7->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
580  reseta_eta0to0p7->setAxisTitle("# tracking particles", 2);
581 
582  // Eta 2 (0.7 to 1.0)
583  HistoName = "reseta_eta0p7to1";
584  reseta_eta0p7to1 = iBooker.book1D(HistoName,
585  HistoName,
586  psRes_eta.getParameter<int32_t>("Nbinsx"),
587  psRes_eta.getParameter<double>("xmin"),
588  psRes_eta.getParameter<double>("xmax"));
589  reseta_eta0p7to1->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
590  reseta_eta0p7to1->setAxisTitle("# tracking particles", 2);
591 
592  // Eta 3 (1.0 to 1.2)
593  HistoName = "reseta_eta1to1p2";
594  reseta_eta1to1p2 = iBooker.book1D(HistoName,
595  HistoName,
596  psRes_eta.getParameter<int32_t>("Nbinsx"),
597  psRes_eta.getParameter<double>("xmin"),
598  psRes_eta.getParameter<double>("xmax"));
599  reseta_eta1to1p2->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
600  reseta_eta1to1p2->setAxisTitle("# tracking particles", 2);
601 
602  // Eta 4 (1.2 to 1.6)
603  HistoName = "reseta_eta1p2to1p6";
604  reseta_eta1p2to1p6 = iBooker.book1D(HistoName,
605  HistoName,
606  psRes_eta.getParameter<int32_t>("Nbinsx"),
607  psRes_eta.getParameter<double>("xmin"),
608  psRes_eta.getParameter<double>("xmax"));
609  reseta_eta1p2to1p6->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
610  reseta_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
611 
612  // Eta 5 (1.6 to 2.0)
613  HistoName = "reseta_eta1p6to2";
614  reseta_eta1p6to2 = iBooker.book1D(HistoName,
615  HistoName,
616  psRes_eta.getParameter<int32_t>("Nbinsx"),
617  psRes_eta.getParameter<double>("xmin"),
618  psRes_eta.getParameter<double>("xmax"));
619  reseta_eta1p6to2->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
620  reseta_eta1p6to2->setAxisTitle("# tracking particles", 2);
621 
622  // Eta 6 (2.0 to 2.4)
623  HistoName = "reseta_eta2to2p4";
624  reseta_eta2to2p4 = iBooker.book1D(HistoName,
625  HistoName,
626  psRes_eta.getParameter<int32_t>("Nbinsx"),
627  psRes_eta.getParameter<double>("xmin"),
628  psRes_eta.getParameter<double>("xmax"));
629  reseta_eta2to2p4->setAxisTitle("#eta_{trk} - #eta_{tp}", 1);
630  reseta_eta2to2p4->setAxisTitle("# tracking particles", 2);
631 
632  // pT parts for resolution (pT res vs eta)
633  // pT a (2 to 3 GeV)
634  // Eta 1 (0 to 0.7)
635  HistoName = "respt_eta0to0p7_pt2to3";
636  respt_eta0to0p7_pt2to3 = iBooker.book1D(HistoName,
637  HistoName,
638  psRes_pt.getParameter<int32_t>("Nbinsx"),
639  psRes_pt.getParameter<double>("xmin"),
640  psRes_pt.getParameter<double>("xmax"));
641  respt_eta0to0p7_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
642  respt_eta0to0p7_pt2to3->setAxisTitle("# tracking particles", 2);
643 
644  // Eta 2 (0.7 to 1.0)
645  HistoName = "respt_eta0p7to1_pt2to3";
646  respt_eta0p7to1_pt2to3 = iBooker.book1D(HistoName,
647  HistoName,
648  psRes_pt.getParameter<int32_t>("Nbinsx"),
649  psRes_pt.getParameter<double>("xmin"),
650  psRes_pt.getParameter<double>("xmax"));
651  respt_eta0p7to1_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
652  respt_eta0p7to1_pt2to3->setAxisTitle("# tracking particles", 2);
653 
654  // Eta 3 (1.0 to 1.2)
655  HistoName = "respt_eta1to1p2_pt2to3";
656  respt_eta1to1p2_pt2to3 = iBooker.book1D(HistoName,
657  HistoName,
658  psRes_pt.getParameter<int32_t>("Nbinsx"),
659  psRes_pt.getParameter<double>("xmin"),
660  psRes_pt.getParameter<double>("xmax"));
661  respt_eta1to1p2_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
662  respt_eta1to1p2_pt2to3->setAxisTitle("# tracking particles", 2);
663 
664  // Eta 4 (1.2 to 1.6)
665  HistoName = "respt_eta1p2to1p6_pt2to3";
666  respt_eta1p2to1p6_pt2to3 = iBooker.book1D(HistoName,
667  HistoName,
668  psRes_pt.getParameter<int32_t>("Nbinsx"),
669  psRes_pt.getParameter<double>("xmin"),
670  psRes_pt.getParameter<double>("xmax"));
671  respt_eta1p2to1p6_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
672  respt_eta1p2to1p6_pt2to3->setAxisTitle("# tracking particles", 2);
673 
674  // Eta 5 (1.6 to 2.0)
675  HistoName = "respt_eta1p6to2_pt2to3";
676  respt_eta1p6to2_pt2to3 = iBooker.book1D(HistoName,
677  HistoName,
678  psRes_pt.getParameter<int32_t>("Nbinsx"),
679  psRes_pt.getParameter<double>("xmin"),
680  psRes_pt.getParameter<double>("xmax"));
681  respt_eta1p6to2_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
682  respt_eta1p6to2_pt2to3->setAxisTitle("# tracking particles", 2);
683 
684  // Eta 6 (2.0 to 2.4)
685  HistoName = "respt_eta2to2p4_pt2to3";
686  respt_eta2to2p4_pt2to3 = iBooker.book1D(HistoName,
687  HistoName,
688  psRes_pt.getParameter<int32_t>("Nbinsx"),
689  psRes_pt.getParameter<double>("xmin"),
690  psRes_pt.getParameter<double>("xmax"));
691  respt_eta2to2p4_pt2to3->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
692  respt_eta2to2p4_pt2to3->setAxisTitle("# tracking particles", 2);
693 
694  // pT b (3 to 8 GeV)
695  // Eta 1 (0 to 0.7)
696  HistoName = "respt_eta0to0p7_pt3to8";
697  respt_eta0to0p7_pt3to8 = iBooker.book1D(HistoName,
698  HistoName,
699  psRes_pt.getParameter<int32_t>("Nbinsx"),
700  psRes_pt.getParameter<double>("xmin"),
701  psRes_pt.getParameter<double>("xmax"));
702  respt_eta0to0p7_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
703  respt_eta0to0p7_pt3to8->setAxisTitle("# tracking particles", 2);
704 
705  // Eta 2 (0.7 to 1.0)
706  HistoName = "respt_eta0p7to1_pt3to8";
707  respt_eta0p7to1_pt3to8 = iBooker.book1D(HistoName,
708  HistoName,
709  psRes_pt.getParameter<int32_t>("Nbinsx"),
710  psRes_pt.getParameter<double>("xmin"),
711  psRes_pt.getParameter<double>("xmax"));
712  respt_eta0p7to1_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
713  respt_eta0p7to1_pt3to8->setAxisTitle("# tracking particles", 2);
714 
715  // Eta 3 (1.0 to 1.2)
716  HistoName = "respt_eta1to1p2_pt3to8";
717  respt_eta1to1p2_pt3to8 = iBooker.book1D(HistoName,
718  HistoName,
719  psRes_pt.getParameter<int32_t>("Nbinsx"),
720  psRes_pt.getParameter<double>("xmin"),
721  psRes_pt.getParameter<double>("xmax"));
722  respt_eta1to1p2_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
723  respt_eta1to1p2_pt3to8->setAxisTitle("# tracking particles", 2);
724 
725  // Eta 4 (1.2 to 1.6)
726  HistoName = "respt_eta1p2to1p6_pt3to8";
727  respt_eta1p2to1p6_pt3to8 = iBooker.book1D(HistoName,
728  HistoName,
729  psRes_pt.getParameter<int32_t>("Nbinsx"),
730  psRes_pt.getParameter<double>("xmin"),
731  psRes_pt.getParameter<double>("xmax"));
732  respt_eta1p2to1p6_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
733  respt_eta1p2to1p6_pt3to8->setAxisTitle("# tracking particles", 2);
734 
735  // Eta 5 (1.6 to 2.0)
736  HistoName = "respt_eta1p6to2_pt3to8";
737  respt_eta1p6to2_pt3to8 = iBooker.book1D(HistoName,
738  HistoName,
739  psRes_pt.getParameter<int32_t>("Nbinsx"),
740  psRes_pt.getParameter<double>("xmin"),
741  psRes_pt.getParameter<double>("xmax"));
742  respt_eta1p6to2_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
743  respt_eta1p6to2_pt3to8->setAxisTitle("# tracking particles", 2);
744 
745  // Eta 6 (2.0 to 2.4)
746  HistoName = "respt_eta2to2p4_pt3to8";
747  respt_eta2to2p4_pt3to8 = iBooker.book1D(HistoName,
748  HistoName,
749  psRes_pt.getParameter<int32_t>("Nbinsx"),
750  psRes_pt.getParameter<double>("xmin"),
751  psRes_pt.getParameter<double>("xmax"));
752  respt_eta2to2p4_pt3to8->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
753  respt_eta2to2p4_pt3to8->setAxisTitle("# tracking particles", 2);
754 
755  // pT c (>8 GeV)
756  // Eta 1 (0 to 0.7)
757  HistoName = "respt_eta0to0p7_pt8toInf";
758  respt_eta0to0p7_pt8toInf = iBooker.book1D(HistoName,
759  HistoName,
760  psRes_pt.getParameter<int32_t>("Nbinsx"),
761  psRes_pt.getParameter<double>("xmin"),
762  psRes_pt.getParameter<double>("xmax"));
763  respt_eta0to0p7_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
764  respt_eta0to0p7_pt8toInf->setAxisTitle("# tracking particles", 2);
765 
766  // Eta 2 (0.7 to 1.0)
767  HistoName = "respt_eta0p7to1_pt8toInf";
768  respt_eta0p7to1_pt8toInf = iBooker.book1D(HistoName,
769  HistoName,
770  psRes_pt.getParameter<int32_t>("Nbinsx"),
771  psRes_pt.getParameter<double>("xmin"),
772  psRes_pt.getParameter<double>("xmax"));
773  respt_eta0p7to1_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
774  respt_eta0p7to1_pt8toInf->setAxisTitle("# tracking particles", 2);
775 
776  // Eta 3 (1.0 to 1.2)
777  HistoName = "respt_eta1to1p2_pt8toInf";
778  respt_eta1to1p2_pt8toInf = iBooker.book1D(HistoName,
779  HistoName,
780  psRes_pt.getParameter<int32_t>("Nbinsx"),
781  psRes_pt.getParameter<double>("xmin"),
782  psRes_pt.getParameter<double>("xmax"));
783  respt_eta1to1p2_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
784  respt_eta1to1p2_pt8toInf->setAxisTitle("# tracking particles", 2);
785 
786  // Eta 4 (1.2 to 1.6)
787  HistoName = "respt_eta1p2to1p6_pt8toInf";
788  respt_eta1p2to1p6_pt8toInf = iBooker.book1D(HistoName,
789  HistoName,
790  psRes_pt.getParameter<int32_t>("Nbinsx"),
791  psRes_pt.getParameter<double>("xmin"),
792  psRes_pt.getParameter<double>("xmax"));
793  respt_eta1p2to1p6_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
794  respt_eta1p2to1p6_pt8toInf->setAxisTitle("# tracking particles", 2);
795 
796  // Eta 5 (1.6 to 2.0)
797  HistoName = "respt_eta1p6to2_pt8toInf";
798  respt_eta1p6to2_pt8toInf = iBooker.book1D(HistoName,
799  HistoName,
800  psRes_pt.getParameter<int32_t>("Nbinsx"),
801  psRes_pt.getParameter<double>("xmin"),
802  psRes_pt.getParameter<double>("xmax"));
803  respt_eta1p6to2_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
804  respt_eta1p6to2_pt8toInf->setAxisTitle("# tracking particles", 2);
805 
806  // Eta 6 (2.0 to 2.4)
807  HistoName = "respt_eta2to2p4_pt8toInf";
808  respt_eta2to2p4_pt8toInf = iBooker.book1D(HistoName,
809  HistoName,
810  psRes_pt.getParameter<int32_t>("Nbinsx"),
811  psRes_pt.getParameter<double>("xmin"),
812  psRes_pt.getParameter<double>("xmax"));
813  respt_eta2to2p4_pt8toInf->setAxisTitle("(p_{T}(trk) - p_{T}(tp))/p_{T}(tp)", 1);
814  respt_eta2to2p4_pt8toInf->setAxisTitle("# tracking particles", 2);
815 
816  // Phi parts (for resolution)
817  // Eta 1 (0 to 0.7)
818  edm::ParameterSet psRes_phi = conf_.getParameter<edm::ParameterSet>("TH1Res_phi");
819  HistoName = "resphi_eta0to0p7";
820  resphi_eta0to0p7 = iBooker.book1D(HistoName,
821  HistoName,
822  psRes_phi.getParameter<int32_t>("Nbinsx"),
823  psRes_phi.getParameter<double>("xmin"),
824  psRes_phi.getParameter<double>("xmax"));
825  resphi_eta0to0p7->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
826  resphi_eta0to0p7->setAxisTitle("# tracking particles", 2);
827 
828  // Eta 2 (0.7 to 1.0)
829  HistoName = "resphi_eta0p7to1";
830  resphi_eta0p7to1 = iBooker.book1D(HistoName,
831  HistoName,
832  psRes_phi.getParameter<int32_t>("Nbinsx"),
833  psRes_phi.getParameter<double>("xmin"),
834  psRes_phi.getParameter<double>("xmax"));
835  resphi_eta0p7to1->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
836  resphi_eta0p7to1->setAxisTitle("# tracking particles", 2);
837 
838  // Eta 3 (1.0 to 1.2)
839  HistoName = "resphi_eta1to1p2";
840  resphi_eta1to1p2 = iBooker.book1D(HistoName,
841  HistoName,
842  psRes_phi.getParameter<int32_t>("Nbinsx"),
843  psRes_phi.getParameter<double>("xmin"),
844  psRes_phi.getParameter<double>("xmax"));
845  resphi_eta1to1p2->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
846  resphi_eta1to1p2->setAxisTitle("# tracking particles", 2);
847 
848  // Eta 4 (1.2 to 1.6)
849  HistoName = "resphi_eta1p2to1p6";
850  resphi_eta1p2to1p6 = iBooker.book1D(HistoName,
851  HistoName,
852  psRes_phi.getParameter<int32_t>("Nbinsx"),
853  psRes_phi.getParameter<double>("xmin"),
854  psRes_phi.getParameter<double>("xmax"));
855  resphi_eta1p2to1p6->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
856  resphi_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
857 
858  // Eta 5 (1.6 to 2.0)
859  HistoName = "resphi_eta1p6to2";
860  resphi_eta1p6to2 = iBooker.book1D(HistoName,
861  HistoName,
862  psRes_phi.getParameter<int32_t>("Nbinsx"),
863  psRes_phi.getParameter<double>("xmin"),
864  psRes_phi.getParameter<double>("xmax"));
865  resphi_eta1p6to2->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
866  resphi_eta1p6to2->setAxisTitle("# tracking particles", 2);
867 
868  // Eta 6 (2.0 to 2.4)
869  HistoName = "resphi_eta2to2p4";
870  resphi_eta2to2p4 = iBooker.book1D(HistoName,
871  HistoName,
872  psRes_phi.getParameter<int32_t>("Nbinsx"),
873  psRes_phi.getParameter<double>("xmin"),
874  psRes_phi.getParameter<double>("xmax"));
875  resphi_eta2to2p4->setAxisTitle("#phi_{trk} - #phi_{tp}", 1);
876  resphi_eta2to2p4->setAxisTitle("# tracking particles", 2);
877 
878  // VtxZ parts (for resolution)
879  // Eta 1 (0 to 0.7)
880  edm::ParameterSet psRes_VtxZ = conf_.getParameter<edm::ParameterSet>("TH1Res_VtxZ");
881  HistoName = "resVtxZ_eta0to0p7";
882  resVtxZ_eta0to0p7 = iBooker.book1D(HistoName,
883  HistoName,
884  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
885  psRes_VtxZ.getParameter<double>("xmin"),
886  psRes_VtxZ.getParameter<double>("xmax"));
887  resVtxZ_eta0to0p7->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
888  resVtxZ_eta0to0p7->setAxisTitle("# tracking particles", 2);
889 
890  // Eta 2 (0.7 to 1.0)
891  HistoName = "resVtxZ_eta0p7to1";
892  resVtxZ_eta0p7to1 = iBooker.book1D(HistoName,
893  HistoName,
894  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
895  psRes_VtxZ.getParameter<double>("xmin"),
896  psRes_VtxZ.getParameter<double>("xmax"));
897  resVtxZ_eta0p7to1->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
898  resVtxZ_eta0p7to1->setAxisTitle("# tracking particles", 2);
899 
900  // Eta 3 (1.0 to 1.2)
901  HistoName = "resVtxZ_eta1to1p2";
902  resVtxZ_eta1to1p2 = iBooker.book1D(HistoName,
903  HistoName,
904  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
905  psRes_VtxZ.getParameter<double>("xmin"),
906  psRes_VtxZ.getParameter<double>("xmax"));
907  resVtxZ_eta1to1p2->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
908  resVtxZ_eta1to1p2->setAxisTitle("# tracking particles", 2);
909 
910  // Eta 4 (1.2 to 1.6)
911  HistoName = "resVtxZ_eta1p2to1p6";
912  resVtxZ_eta1p2to1p6 = iBooker.book1D(HistoName,
913  HistoName,
914  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
915  psRes_VtxZ.getParameter<double>("xmin"),
916  psRes_VtxZ.getParameter<double>("xmax"));
917  resVtxZ_eta1p2to1p6->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
918  resVtxZ_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
919 
920  // Eta 5 (1.6 to 2.0)
921  HistoName = "resVtxZ_eta1p6to2";
922  resVtxZ_eta1p6to2 = iBooker.book1D(HistoName,
923  HistoName,
924  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
925  psRes_VtxZ.getParameter<double>("xmin"),
926  psRes_VtxZ.getParameter<double>("xmax"));
927  resVtxZ_eta1p6to2->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
928  resVtxZ_eta1p6to2->setAxisTitle("# tracking particles", 2);
929 
930  // Eta 6 (2.0 to 2.4)
931  HistoName = "resVtxZ_eta2to2p4";
932  resVtxZ_eta2to2p4 = iBooker.book1D(HistoName,
933  HistoName,
934  psRes_VtxZ.getParameter<int32_t>("Nbinsx"),
935  psRes_VtxZ.getParameter<double>("xmin"),
936  psRes_VtxZ.getParameter<double>("xmax"));
937  resVtxZ_eta2to2p4->setAxisTitle("VtxZ_{trk} - VtxZ_{tp} [cm]", 1);
938  resVtxZ_eta2to2p4->setAxisTitle("# tracking particles", 2);
939 
940  // d0 parts (for resolution)
941  // Eta 1 (0 to 0.7)
942  edm::ParameterSet psRes_d0 = conf_.getParameter<edm::ParameterSet>("TH1Res_d0");
943  HistoName = "resd0_eta0to0p7";
944  resd0_eta0to0p7 = iBooker.book1D(HistoName,
945  HistoName,
946  psRes_d0.getParameter<int32_t>("Nbinsx"),
947  psRes_d0.getParameter<double>("xmin"),
948  psRes_d0.getParameter<double>("xmax"));
949  resd0_eta0to0p7->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
950  resd0_eta0to0p7->setAxisTitle("# tracking particles", 2);
951 
952  // Eta 2 (0.7 to 1.0)
953  HistoName = "resd0_eta0p7to1";
954  resd0_eta0p7to1 = iBooker.book1D(HistoName,
955  HistoName,
956  psRes_d0.getParameter<int32_t>("Nbinsx"),
957  psRes_d0.getParameter<double>("xmin"),
958  psRes_d0.getParameter<double>("xmax"));
959  resd0_eta0p7to1->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
960  resd0_eta0p7to1->setAxisTitle("# tracking particles", 2);
961 
962  // Eta 3 (1.0 to 1.2)
963  HistoName = "resd0_eta1to1p2";
964  resd0_eta1to1p2 = iBooker.book1D(HistoName,
965  HistoName,
966  psRes_d0.getParameter<int32_t>("Nbinsx"),
967  psRes_d0.getParameter<double>("xmin"),
968  psRes_d0.getParameter<double>("xmax"));
969  resd0_eta1to1p2->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
970  resd0_eta1to1p2->setAxisTitle("# tracking particles", 2);
971 
972  // Eta 4 (1.2 to 1.6)
973  HistoName = "resd0_eta1p2to1p6";
974  resd0_eta1p2to1p6 = iBooker.book1D(HistoName,
975  HistoName,
976  psRes_d0.getParameter<int32_t>("Nbinsx"),
977  psRes_d0.getParameter<double>("xmin"),
978  psRes_d0.getParameter<double>("xmax"));
979  resd0_eta1p2to1p6->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
980  resd0_eta1p2to1p6->setAxisTitle("# tracking particles", 2);
981 
982  // Eta 5 (1.6 to 2.0)
983  HistoName = "resd0_eta1p6to2";
984  resd0_eta1p6to2 = iBooker.book1D(HistoName,
985  HistoName,
986  psRes_d0.getParameter<int32_t>("Nbinsx"),
987  psRes_d0.getParameter<double>("xmin"),
988  psRes_d0.getParameter<double>("xmax"));
989  resd0_eta1p6to2->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
990  resd0_eta1p6to2->setAxisTitle("# tracking particles", 2);
991 
992  // Eta 6 (2.0 to 2.4)
993  HistoName = "resd0_eta2to2p4";
994  resd0_eta2to2p4 = iBooker.book1D(HistoName,
995  HistoName,
996  psRes_d0.getParameter<int32_t>("Nbinsx"),
997  psRes_d0.getParameter<double>("xmin"),
998  psRes_d0.getParameter<double>("xmax"));
999  resd0_eta2to2p4->setAxisTitle("d0_{trk} - d0_{tp} [cm]", 1);
1000  resd0_eta2to2p4->setAxisTitle("# tracking particles", 2);
1001 
1002 } // end of method
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
T getParameter(std::string const &) const
Definition: ParameterSet.h:303
std::string HistoName
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
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 OuterTrackerMonitorTrackingParticles::conf_
private
double OuterTrackerMonitorTrackingParticles::L1Tk_maxChi2dof
private
int OuterTrackerMonitorTrackingParticles::L1Tk_minNStub
private
const edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> OuterTrackerMonitorTrackingParticles::m_topoToken
private

Definition at line 99 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze().

MonitorElement* OuterTrackerMonitorTrackingParticles::match_tp_d0 = nullptr

Definition at line 45 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::match_tp_eta = nullptr

Definition at line 44 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::match_tp_pt = nullptr

Definition at line 42 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::match_tp_pt_zoom = nullptr

Definition at line 43 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::match_tp_VtxR = nullptr

Definition at line 46 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::match_tp_VtxZ = nullptr

Definition at line 47 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::res_eta = nullptr

Definition at line 50 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::res_pt = nullptr

Definition at line 51 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::res_ptRel = nullptr

Definition at line 52 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resd0_eta0p7to1 = nullptr

Definition at line 92 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resd0_eta0to0p7 = nullptr

Definition at line 91 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resd0_eta1p2to1p6 = nullptr

Definition at line 94 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resd0_eta1p6to2 = nullptr

Definition at line 95 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resd0_eta1to1p2 = nullptr

Definition at line 93 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resd0_eta2to2p4 = nullptr

Definition at line 96 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::reseta_eta0p7to1 = nullptr

Definition at line 72 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::reseta_eta0to0p7 = nullptr

Definition at line 71 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::reseta_eta1p2to1p6 = nullptr

Definition at line 74 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::reseta_eta1p6to2 = nullptr

Definition at line 75 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::reseta_eta1to1p2 = nullptr

Definition at line 73 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::reseta_eta2to2p4 = nullptr

Definition at line 76 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resphi_eta0p7to1 = nullptr

Definition at line 78 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resphi_eta0to0p7 = nullptr

Definition at line 77 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resphi_eta1p2to1p6 = nullptr

Definition at line 80 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resphi_eta1p6to2 = nullptr

Definition at line 81 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resphi_eta1to1p2 = nullptr

Definition at line 79 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resphi_eta2to2p4 = nullptr

Definition at line 82 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta0p7to1_pt2to3 = nullptr

Definition at line 54 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta0p7to1_pt3to8 = nullptr

Definition at line 60 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta0p7to1_pt8toInf = nullptr

Definition at line 66 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta0to0p7_pt2to3 = nullptr

Definition at line 53 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta0to0p7_pt3to8 = nullptr

Definition at line 59 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta0to0p7_pt8toInf = nullptr

Definition at line 65 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1p2to1p6_pt2to3 = nullptr

Definition at line 56 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1p2to1p6_pt3to8 = nullptr

Definition at line 62 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1p2to1p6_pt8toInf = nullptr

Definition at line 68 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1p6to2_pt2to3 = nullptr

Definition at line 57 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1p6to2_pt3to8 = nullptr

Definition at line 63 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1p6to2_pt8toInf = nullptr

Definition at line 69 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1to1p2_pt2to3 = nullptr

Definition at line 55 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1to1p2_pt3to8 = nullptr

Definition at line 61 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta1to1p2_pt8toInf = nullptr

Definition at line 67 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta2to2p4_pt2to3 = nullptr

Definition at line 58 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta2to2p4_pt3to8 = nullptr

Definition at line 64 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::respt_eta2to2p4_pt8toInf = nullptr

Definition at line 70 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resVtxZ_eta0p7to1 = nullptr

Definition at line 84 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resVtxZ_eta0to0p7 = nullptr

Definition at line 83 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resVtxZ_eta1p2to1p6 = nullptr

Definition at line 86 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resVtxZ_eta1p6to2 = nullptr

Definition at line 87 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resVtxZ_eta1to1p2 = nullptr

Definition at line 85 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::resVtxZ_eta2to2p4 = nullptr

Definition at line 88 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

std::string OuterTrackerMonitorTrackingParticles::topFolderName_
private
MonitorElement* OuterTrackerMonitorTrackingParticles::tp_d0 = nullptr

Definition at line 39 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::tp_eta = nullptr

Definition at line 38 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

double OuterTrackerMonitorTrackingParticles::TP_maxEta
private
double OuterTrackerMonitorTrackingParticles::TP_maxVtxZ
private
int OuterTrackerMonitorTrackingParticles::TP_minNLayersStub
private
int OuterTrackerMonitorTrackingParticles::TP_minNStub
private
double OuterTrackerMonitorTrackingParticles::TP_minPt
private
MonitorElement* OuterTrackerMonitorTrackingParticles::tp_pt = nullptr

Definition at line 36 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::tp_pt_zoom = nullptr

Definition at line 37 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::tp_VtxR = nullptr

Definition at line 40 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::tp_VtxZ = nullptr

Definition at line 41 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<std::vector<TrackingParticle> > OuterTrackerMonitorTrackingParticles::trackingParticleToken_
private
MonitorElement* OuterTrackerMonitorTrackingParticles::trackParts_Eta = nullptr

Definition at line 31 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::trackParts_Phi = nullptr

Definition at line 32 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

MonitorElement* OuterTrackerMonitorTrackingParticles::trackParts_Pt = nullptr

Definition at line 33 of file OuterTrackerMonitorTrackingParticles.h.

Referenced by analyze(), and bookHistograms().

edm::EDGetTokenT<TTClusterAssociationMap<Ref_Phase2TrackerDigi_> > OuterTrackerMonitorTrackingParticles::ttClusterMCTruthToken_
private
edm::EDGetTokenT<TTStubAssociationMap<Ref_Phase2TrackerDigi_> > OuterTrackerMonitorTrackingParticles::ttStubMCTruthToken_
private
edm::EDGetTokenT<TTTrackAssociationMap<Ref_Phase2TrackerDigi_> > OuterTrackerMonitorTrackingParticles::ttTrackMCTruthToken_
private