CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes
MTVHistoProducerAlgoForTracker Class Reference

#include <MTVHistoProducerAlgoForTracker.h>

Public Types

typedef dqm::reco::DQMStore DQMStore
 
using Histograms = MTVHistoProducerAlgoForTrackerHistograms
 

Public Member Functions

void bookMVAHistos (DQMStore::IBooker &ibook, Histograms &histograms, size_t nMVAs)
 
void bookRecodEdxHistos (DQMStore::IBooker &ibook, Histograms &histograms)
 
void bookRecoHistos (DQMStore::IBooker &ibook, Histograms &histograms, bool doResolutionPlots)
 
void bookRecoPVAssociationHistos (DQMStore::IBooker &ibook, Histograms &histograms)
 
void bookSeedHistos (DQMStore::IBooker &ibook, Histograms &histograms)
 
void bookSimHistos (DQMStore::IBooker &ibook, Histograms &histograms)
 
void bookSimTrackHistos (DQMStore::IBooker &ibook, Histograms &histograms, bool doResolutionPlots)
 
void bookSimTrackPVAssociationHistos (DQMStore::IBooker &ibook, Histograms &histograms)
 
void fill_dedx_recoTrack_histos (const Histograms &histograms, int count, const edm::RefToBase< reco::Track > &trackref, const std::vector< const edm::ValueMap< reco::DeDxData > * > &v_dEdx) const
 
void fill_duplicate_histos (const Histograms &histograms, int count, const reco::Track &track1, const reco::Track &track2) const
 
void fill_generic_recoTrack_histos (const Histograms &histograms, int count, const reco::Track &track, const TrackerTopology &ttopo, const math::XYZPoint &bsPosition, const math::XYZPoint *pvPosition, const TrackingVertex::LorentzVector *simPVPosition, bool isMatched, bool isSigMatched, bool isChargeMatched, int numAssocRecoTracks, int numVertices, int nSimHits, double sharedFraction, double dR, double dR_jet, const std::vector< float > &mvas, unsigned int selectsLoose, unsigned int selectsHP) const
 
void fill_generic_simTrack_histos (const Histograms &histograms, const TrackingParticle::Vector &, const TrackingParticle::Point &vertex, int bx) const
 
void fill_recoAssociated_simTrack_histos (const Histograms &histograms, int count, const reco::GenParticle &tp, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, double dxy, double dz, int nSimHits, const reco::Track *track, int numVertices) const
 
void fill_recoAssociated_simTrack_histos (const Histograms &histograms, int count, const TrackingParticle &tp, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, double dxy, double dz, double dxyPV, double dzPV, int nSimHits, int nSimLayers, int nSimPixelLayers, int nSimStripMonoAndStereoLayers, const reco::Track *track, int numVertices, double dR, double dR_jet, const math::XYZPoint *pvPosition, const TrackingVertex::LorentzVector *simPVPosition, const math::XYZPoint &bsPosition, const std::vector< float > &mvas, unsigned int selectsLoose, unsigned int selectsHP) const
 
void fill_ResoAndPull_recoTrack_histos (const Histograms &histograms, int count, const TrackingParticle::Vector &momentumTP, const TrackingParticle::Point &vertexTP, int chargeTP, const reco::Track &track, const math::XYZPoint &bsPosition) const
 
void fill_seed_histos (const Histograms &histograms, int count, int seedsFitFailed, int seedsTotal) const
 
void fill_simAssociated_recoTrack_histos (const Histograms &histograms, int count, const reco::Track &track) const
 
void fill_simTrackBased_histos (const Histograms &histograms, int numSimTracks) const
 
void fill_trackBased_histos (const Histograms &histograms, int count, int assTracks, int numRecoTracks, int numRecoTracksSelected, int numSimTracksSelected) const
 
 MTVHistoProducerAlgoForTracker (const edm::ParameterSet &pset, const bool doSeedPlots)
 
 ~MTVHistoProducerAlgoForTracker ()
 

Static Public Member Functions

static std::unique_ptr< RecoTrackSelectorBasemakeRecoTrackSelectorFromTPSelectorParameters (const edm::ParameterSet &pset)
 

Private Types

using SeedingLayerId = std::tuple< SeedingLayerSetsBuilder::SeedingLayerId, bool >
 
using SeedingLayerSetId = std::array< SeedingLayerId, 4 >
 

Private Member Functions

double getEta (double eta) const
 
double getPt (double pt) const
 
void getRecoMomentum (const reco::GsfTrack &gsfTrack, double &pt, double &ptError, double &qoverp, double &qoverpError, double &lambda, double &lambdaError, double &phi, double &phiError) const
 retrieval of reconstructed momentum components based on the mode of a reco::GsfTrack More...
 
void getRecoMomentum (const reco::Track &track, double &pt, double &ptError, double &qoverp, double &qoverpError, double &lambda, double &lambdaError, double &phi, double &phiError) const
 retrieval of reconstructed momentum components from reco::Track (== mean values for GSF) More...
 
unsigned int getSeedingLayerSetBin (const reco::Track &track, const TrackerTopology &ttopo) const
 

Private Attributes

int cotThetaRes_nbin
 
double cotThetaRes_rangeMax
 
double cotThetaRes_rangeMin
 
const bool doMTDPlots_
 
const bool doSeedPlots_
 
double dxyDzZoom
 
int dxyRes_nbin
 
double dxyRes_rangeMax
 
double dxyRes_rangeMin
 
int dzRes_nbin
 
double dzRes_rangeMax
 
double dzRes_rangeMin
 
std::unique_ptr< GenParticleCustomSelectorgeneralGpSelector
 
std::unique_ptr< TrackingParticleSelectorgeneralTpSelector
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsEta
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsPhi
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsPt
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsVTXR
 
std::unique_ptr< GenParticleCustomSelectorGpSelectorForEfficiencyVsVTXZ
 
double maxChi2
 
double maxDeDx
 
double maxdr
 
double maxdrj
 
double maxDxy
 
double maxDz
 
double maxDzpvCum
 
double maxDzpvsigCum
 
double maxEta
 
double maxHit
 
double maxLayers
 
double maxMVA
 
double maxPhi
 
double maxPt
 
double maxPu
 
double maxPVz
 
double maxTracks
 
double maxVertcount
 
double maxVertpos
 
double maxZpos
 
double minChi2
 
double minDeDx
 
double mindr
 
double mindrj
 
double minDxy
 
double minDz
 
double minEta
 
double minHit
 
double minLayers
 
double minMVA
 
double minPhi
 
double minPt
 
double minPu
 
double minPVz
 
double minTracks
 
double minVertcount
 
double minVertpos
 
double minZpos
 
int nintChi2
 
int nintDeDx
 
int nintdr
 
int nintdrj
 
int nintDxy
 
int nintDz
 
int nintDzpvCum
 
int nintDzpvsigCum
 
int nintEta
 
int nintHit
 
int nintLayers
 
int nintMVA
 
int nintPhi
 
int nintPt
 
int nintPu
 
int nintPVz
 
int nintTracks
 
int nintVertcount
 
int nintVertpos
 
int nintZpos
 
int phiRes_nbin
 
double phiRes_rangeMax
 
double phiRes_rangeMin
 
int ptRes_nbin
 
double ptRes_rangeMax
 
double ptRes_rangeMin
 
std::vector< std::string > seedingLayerSetNames
 
std::map< SeedingLayerSetId, unsigned int > seedingLayerSetToBin
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsEta
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsPhi
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsPt
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsVTXR
 
std::unique_ptr< TrackingParticleSelectorTpSelectorForEfficiencyVsVTXZ
 
std::unique_ptr< RecoTrackSelectorBasetrackSelectorVsEta
 
std::unique_ptr< RecoTrackSelectorBasetrackSelectorVsPhi
 
std::unique_ptr< RecoTrackSelectorBasetrackSelectorVsPt
 
bool useFabsEta
 
bool useInvPt
 
bool useLogPt
 
bool useLogVertpos
 

Detailed Description

Definition at line 145 of file MTVHistoProducerAlgoForTracker.h.

Member Typedef Documentation

◆ DQMStore

Definition at line 147 of file MTVHistoProducerAlgoForTracker.h.

◆ Histograms

Definition at line 155 of file MTVHistoProducerAlgoForTracker.h.

◆ SeedingLayerId

Definition at line 366 of file MTVHistoProducerAlgoForTracker.h.

◆ SeedingLayerSetId

Definition at line 367 of file MTVHistoProducerAlgoForTracker.h.

Constructor & Destructor Documentation

◆ MTVHistoProducerAlgoForTracker()

MTVHistoProducerAlgoForTracker::MTVHistoProducerAlgoForTracker ( const edm::ParameterSet pset,
const bool  doSeedPlots 
)

Definition at line 141 of file MTVHistoProducerAlgoForTracker.cc.

142  : doSeedPlots_(doSeedPlots), doMTDPlots_(pset.getUntrackedParameter<bool>("doMTDPlots")) {
143  //parameters for _vs_eta plots
144  minEta = pset.getParameter<double>("minEta");
145  maxEta = pset.getParameter<double>("maxEta");
146  nintEta = pset.getParameter<int>("nintEta");
147  useFabsEta = pset.getParameter<bool>("useFabsEta");
148 
149  //parameters for _vs_pt plots
150  minPt = pset.getParameter<double>("minPt");
151  maxPt = pset.getParameter<double>("maxPt");
152  nintPt = pset.getParameter<int>("nintPt");
153  useInvPt = pset.getParameter<bool>("useInvPt");
154  useLogPt = pset.getUntrackedParameter<bool>("useLogPt", false);
155 
156  //parameters for _vs_Hit plots
157  minHit = pset.getParameter<double>("minHit");
158  maxHit = pset.getParameter<double>("maxHit");
159  nintHit = pset.getParameter<int>("nintHit");
160 
161  //parameters for _vs_Pu plots
162  minPu = pset.getParameter<double>("minPu");
163  maxPu = pset.getParameter<double>("maxPu");
164  nintPu = pset.getParameter<int>("nintPu");
165 
166  //parameters for _vs_Layer plots
167  minLayers = pset.getParameter<double>("minLayers");
168  maxLayers = pset.getParameter<double>("maxLayers");
169  nintLayers = pset.getParameter<int>("nintLayers");
170 
171  //parameters for _vs_phi plots
172  minPhi = pset.getParameter<double>("minPhi");
173  maxPhi = pset.getParameter<double>("maxPhi");
174  nintPhi = pset.getParameter<int>("nintPhi");
175 
176  //parameters for _vs_Dxy plots
177  minDxy = pset.getParameter<double>("minDxy");
178  maxDxy = pset.getParameter<double>("maxDxy");
179  nintDxy = pset.getParameter<int>("nintDxy");
180 
181  //parameters for _vs_Dz plots
182  minDz = pset.getParameter<double>("minDz");
183  maxDz = pset.getParameter<double>("maxDz");
184  nintDz = pset.getParameter<int>("nintDz");
185 
186  dxyDzZoom = pset.getParameter<double>("dxyDzZoom");
187 
188  //parameters for _vs_ProductionVertexTransvPosition plots
189  minVertpos = pset.getParameter<double>("minVertpos");
190  maxVertpos = pset.getParameter<double>("maxVertpos");
191  nintVertpos = pset.getParameter<int>("nintVertpos");
192  useLogVertpos = pset.getUntrackedParameter<bool>("useLogVertpos");
193 
194  //parameters for _vs_ProductionVertexZPosition plots
195  minZpos = pset.getParameter<double>("minZpos");
196  maxZpos = pset.getParameter<double>("maxZpos");
197  nintZpos = pset.getParameter<int>("nintZpos");
198 
199  //parameters for _vs_dR plots
200  mindr = pset.getParameter<double>("mindr");
201  maxdr = pset.getParameter<double>("maxdr");
202  nintdr = pset.getParameter<int>("nintdr");
203 
204  //parameters for _vs_dR_jet plots
205  mindrj = pset.getParameter<double>("mindrj");
206  maxdrj = pset.getParameter<double>("maxdrj");
207  nintdrj = pset.getParameter<int>("nintdrj");
208 
209  // paramers for _vs_chi2 plots
210  minChi2 = pset.getParameter<double>("minChi2");
211  maxChi2 = pset.getParameter<double>("maxChi2");
212  nintChi2 = pset.getParameter<int>("nintChi2");
213 
214  //parameters for dE/dx plots
215  minDeDx = pset.getParameter<double>("minDeDx");
216  maxDeDx = pset.getParameter<double>("maxDeDx");
217  nintDeDx = pset.getParameter<int>("nintDeDx");
218 
219  //parameters for Pileup plots
220  minVertcount = pset.getParameter<double>("minVertcount");
221  maxVertcount = pset.getParameter<double>("maxVertcount");
222  nintVertcount = pset.getParameter<int>("nintVertcount");
223 
224  //parameters for number of tracks plots
225  minTracks = pset.getParameter<double>("minTracks");
226  maxTracks = pset.getParameter<double>("maxTracks");
227  nintTracks = pset.getParameter<int>("nintTracks");
228 
229  //parameters for vs. PV z plots
230  minPVz = pset.getParameter<double>("minPVz");
231  maxPVz = pset.getParameter<double>("maxPVz");
232  nintPVz = pset.getParameter<int>("nintPVz");
233 
234  //parameters for vs. MVA plots
235  minMVA = pset.getParameter<double>("minMVA");
236  maxMVA = pset.getParameter<double>("maxMVA");
237  nintMVA = pset.getParameter<int>("nintMVA");
238 
239  //parameters for resolution plots
240  ptRes_rangeMin = pset.getParameter<double>("ptRes_rangeMin");
241  ptRes_rangeMax = pset.getParameter<double>("ptRes_rangeMax");
242  ptRes_nbin = pset.getParameter<int>("ptRes_nbin");
243 
244  phiRes_rangeMin = pset.getParameter<double>("phiRes_rangeMin");
245  phiRes_rangeMax = pset.getParameter<double>("phiRes_rangeMax");
246  phiRes_nbin = pset.getParameter<int>("phiRes_nbin");
247 
248  cotThetaRes_rangeMin = pset.getParameter<double>("cotThetaRes_rangeMin");
249  cotThetaRes_rangeMax = pset.getParameter<double>("cotThetaRes_rangeMax");
250  cotThetaRes_nbin = pset.getParameter<int>("cotThetaRes_nbin");
251 
252  dxyRes_rangeMin = pset.getParameter<double>("dxyRes_rangeMin");
253  dxyRes_rangeMax = pset.getParameter<double>("dxyRes_rangeMax");
254  dxyRes_nbin = pset.getParameter<int>("dxyRes_nbin");
255 
256  dzRes_rangeMin = pset.getParameter<double>("dzRes_rangeMin");
257  dzRes_rangeMax = pset.getParameter<double>("dzRes_rangeMax");
258  dzRes_nbin = pset.getParameter<int>("dzRes_nbin");
259 
260  maxDzpvCum = pset.getParameter<double>("maxDzpvCumulative");
261  nintDzpvCum = pset.getParameter<int>("nintDzpvCumulative");
262 
263  maxDzpvsigCum = pset.getParameter<double>("maxDzpvsigCumulative");
264  nintDzpvsigCum = pset.getParameter<int>("nintDzpvsigCumulative");
265 
266  //--- tracking particle selectors for efficiency measurements
267  using namespace edm;
268  using namespace reco::modules;
269  auto initTPselector = [&](auto& sel, auto& name) {
270  sel = std::make_unique<TrackingParticleSelector>(
272  };
273  auto initTrackSelector = [&](auto& sel, auto& name) {
275  };
276  auto initGPselector = [&](auto& sel, auto& name) {
277  sel = std::make_unique<GenParticleCustomSelector>(
279  };
280 
281  initTPselector(generalTpSelector, "generalTpSelector");
282  initTPselector(TpSelectorForEfficiencyVsEta, "TpSelectorForEfficiencyVsEta");
283  initTPselector(TpSelectorForEfficiencyVsPhi, "TpSelectorForEfficiencyVsPhi");
284  initTPselector(TpSelectorForEfficiencyVsPt, "TpSelectorForEfficiencyVsPt");
285  initTPselector(TpSelectorForEfficiencyVsVTXR, "TpSelectorForEfficiencyVsVTXR");
286  initTPselector(TpSelectorForEfficiencyVsVTXZ, "TpSelectorForEfficiencyVsVTXZ");
287 
288  initTrackSelector(trackSelectorVsEta, "TpSelectorForEfficiencyVsEta");
289  initTrackSelector(trackSelectorVsPhi, "TpSelectorForEfficiencyVsPhi");
290  initTrackSelector(trackSelectorVsPt, "TpSelectorForEfficiencyVsPt");
291 
292  initGPselector(generalGpSelector, "generalGpSelector");
293  initGPselector(GpSelectorForEfficiencyVsEta, "GpSelectorForEfficiencyVsEta");
294  initGPselector(GpSelectorForEfficiencyVsPhi, "GpSelectorForEfficiencyVsPhi");
295  initGPselector(GpSelectorForEfficiencyVsPt, "GpSelectorForEfficiencyVsPt");
296  initGPselector(GpSelectorForEfficiencyVsVTXR, "GpSelectorForEfficiencyVsVTXR");
297  initGPselector(GpSelectorForEfficiencyVsVTXZ, "GpSelectorForEfficiencyVsVTXZ");
298 
299  // SeedingLayerSets
300  // If enabled, use last bin to denote other or unknown cases
301  seedingLayerSetNames = pset.getParameter<std::vector<std::string>>("seedingLayerSets");
302  std::vector<std::pair<SeedingLayerSetId, std::string>> stripPairSets;
303  if (!seedingLayerSetNames.empty()) {
304  std::vector<std::vector<std::string>> layerSets = SeedingLayerSetsBuilder::layerNamesInSets(seedingLayerSetNames);
305  for (size_t i = 0; i < layerSets.size(); ++i) {
306  const auto& layerSet = layerSets[i];
307  if (layerSet.size() > std::tuple_size<SeedingLayerSetId>::value) {
308  throw cms::Exception("Configuration")
309  << "Got seedingLayerSet " << seedingLayerSetNames[i] << " with " << layerSet.size()
310  << " elements, but I have a hard-coded maximum of " << std::tuple_size<SeedingLayerSetId>::value
311  << ". Please increase the maximum in MTVHistoProducerAlgoForTracker.h";
312  }
313  SeedingLayerSetId setId;
314  for (size_t j = 0; j < layerSet.size(); ++j) {
315  // SeedingLayerSetsBuilder::fillDescriptions() kind-of
316  // suggests that the 'M' prefix stands for strip mono hits
317  // (maybe it should force), so making the assumption here is
318  // (still) a bit ugly. But, this is the easiest way.
319  bool isStripMono = !layerSet[j].empty() && layerSet[j][0] == 'M';
320  setId[j] = std::make_tuple(SeedingLayerSetsBuilder::nameToEnumId(layerSet[j]), isStripMono);
321  }
322  // Account for the fact that strip triplet seeding may give pairs
323  if (layerSet.size() == 3 && isTrackerStrip(std::get<GeomDetEnumerators::SubDetector>(std::get<0>(setId[0])))) {
324  SeedingLayerSetId pairId;
325  pairId[0] = setId[0];
326  pairId[1] = setId[1];
327  stripPairSets.emplace_back(pairId, layerSet[0] + "+" + layerSet[1]);
328  }
329 
330  auto inserted = seedingLayerSetToBin.insert(std::make_pair(setId, i));
331  if (!inserted.second)
332  throw cms::Exception("Configuration") << "SeedingLayerSet " << seedingLayerSetNames[i]
333  << " is specified twice, while the set list should be unique.";
334  }
335 
336  // Add the "strip pairs from strip triplets" if they don't otherwise exist
337  for (const auto& setIdName : stripPairSets) {
338  auto inserted = seedingLayerSetToBin.insert(std::make_pair(setIdName.first, seedingLayerSetNames.size()));
339  if (inserted.second)
340  seedingLayerSetNames.push_back(setIdName.second);
341  }
342 
343  seedingLayerSetNames.emplace_back("Other/Unknown");
344  }
345 
346  // fix for the LogScale by Ryan
347  if (useLogPt) {
348  maxPt = log10(maxPt);
349  if (minPt > 0) {
350  minPt = log10(minPt);
351  } else {
352  edm::LogWarning("MultiTrackValidator")
353  << "minPt = " << minPt << " <= 0 out of range while requesting log scale. Using minPt = 0.1.";
354  minPt = log10(0.1);
355  }
356  }
357  if (useLogVertpos) {
358  maxVertpos = std::log10(maxVertpos);
359  if (minVertpos > 0) {
360  minVertpos = std::log10(minVertpos);
361  } else {
362  edm::LogWarning("MultiTrackValidator")
363  << "minVertpos = " << minVertpos << " <= 0 out of range while requesting log scale. Using minVertpos = 0.1.";
364  minVertpos = -1;
365  }
366  }
367 }

References cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, dxyDzZoom, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, Exception, generalGpSelector, generalTpSelector, GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, mps_fire::i, GeomDetEnumerators::isTrackerStrip(), dqmiolumiharvest::j, SeedingLayerSetsBuilder::layerNamesInSets(), makeRecoTrackSelectorFromTPSelectorParameters(), maxChi2, maxDeDx, maxdr, maxdrj, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, maxEta, maxHit, maxLayers, maxMVA, maxPhi, maxPt, maxPu, maxPVz, maxTracks, maxVertcount, maxVertpos, maxZpos, minDeDx, mindr, mindrj, minDxy, minDz, minEta, minHit, minLayers, minMVA, minPhi, minPt, minPu, minPVz, minTracks, minVertcount, minVertpos, minZpos, Skims_PA_cff::name, SeedingLayerSetsBuilder::nameToEnumId(), nintChi2, nintDeDx, nintdr, nintdrj, nintDxy, nintDz, nintDzpvCum, nintDzpvsigCum, nintEta, nintHit, nintLayers, nintMVA, nintPhi, nintPt, nintPu, nintPVz, nintTracks, nintVertcount, nintVertpos, nintZpos, phiRes_nbin, phiRes_rangeMax, phiRes_rangeMin, muonDTDigis_cfi::pset, ptRes_nbin, ptRes_rangeMax, ptRes_rangeMin, seedingLayerSetNames, seedingLayerSetToBin, EgammaValidation_Wenu_cff::sel, TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, TpSelectorForEfficiencyVsVTXZ, trackSelectorVsEta, trackSelectorVsPhi, trackSelectorVsPt, useFabsEta, useInvPt, useLogPt, useLogVertpos, and relativeConstraints::value.

◆ ~MTVHistoProducerAlgoForTracker()

MTVHistoProducerAlgoForTracker::~MTVHistoProducerAlgoForTracker ( )

Definition at line 369 of file MTVHistoProducerAlgoForTracker.cc.

369 {}

Member Function Documentation

◆ bookMVAHistos()

void MTVHistoProducerAlgoForTracker::bookMVAHistos ( DQMStore::IBooker ibook,
Histograms histograms,
size_t  nMVAs 
)

Definition at line 1612 of file MTVHistoProducerAlgoForTracker.cc.

1612  {
1613  histograms.h_reco_mva.emplace_back();
1614  histograms.h_assoc2_mva.emplace_back();
1615 
1616  histograms.h_reco_mvacut.emplace_back();
1617  histograms.h_assoc_mvacut.emplace_back();
1618  histograms.h_assoc2_mvacut.emplace_back();
1619  histograms.h_simul2_mvacut.emplace_back();
1620 
1621  histograms.h_reco_mva_hp.emplace_back();
1622  histograms.h_assoc2_mva_hp.emplace_back();
1623 
1624  histograms.h_reco_mvacut_hp.emplace_back();
1625  histograms.h_assoc_mvacut_hp.emplace_back();
1626  histograms.h_assoc2_mvacut_hp.emplace_back();
1627  histograms.h_simul2_mvacut_hp.emplace_back();
1628 
1629  histograms.h_assoc2_mva_vs_pt.emplace_back();
1630  histograms.h_fake_mva_vs_pt.emplace_back();
1631  histograms.h_assoc2_mva_vs_pt_hp.emplace_back();
1632  histograms.h_fake_mva_vs_pt_hp.emplace_back();
1633  histograms.h_assoc2_mva_vs_eta.emplace_back();
1634  histograms.h_fake_mva_vs_eta.emplace_back();
1635  histograms.h_assoc2_mva_vs_eta_hp.emplace_back();
1636  histograms.h_fake_mva_vs_eta_hp.emplace_back();
1637 
1638  for (size_t i = 1; i <= nMVAs; ++i) {
1639  auto istr = std::to_string(i);
1640  std::string pfix;
1641 
1642  if (i == 1) {
1643  histograms.h_reco_mva_hp.back().emplace_back();
1644  histograms.h_assoc2_mva_hp.back().emplace_back();
1645 
1646  histograms.h_reco_mvacut_hp.back().emplace_back();
1647  histograms.h_assoc_mvacut_hp.back().emplace_back();
1648  histograms.h_assoc2_mvacut_hp.back().emplace_back();
1649  histograms.h_simul2_mvacut_hp.back().emplace_back();
1650 
1651  histograms.h_assoc2_mva_vs_pt_hp.back().emplace_back();
1652  histograms.h_fake_mva_vs_pt_hp.back().emplace_back();
1653  histograms.h_assoc2_mva_vs_eta_hp.back().emplace_back();
1654  histograms.h_fake_mva_vs_eta_hp.back().emplace_back();
1655  } else {
1656  pfix = " (not loose-selected)";
1657  std::string pfix2 = " (not HP-selected)";
1658 
1659  histograms.h_reco_mva_hp.back().push_back(ibook.book1D(
1660  "num_reco_mva" + istr + "_hp", "N of reco track after vs MVA" + istr + pfix2, nintMVA, minMVA, maxMVA));
1661  histograms.h_assoc2_mva_hp.back().push_back(
1662  ibook.book1D("num_assoc(recoToSim)_mva" + istr + "_hp",
1663  "N of associated tracks (recoToSim) vs MVA" + istr + pfix2,
1664  nintMVA,
1665  minMVA,
1666  maxMVA));
1667 
1668  histograms.h_reco_mvacut_hp.back().push_back(ibook.book1D("num_reco_mva" + istr + "cut" + "_hp",
1669  "N of reco track vs cut on MVA" + istr + pfix2,
1670  nintMVA,
1671  minMVA,
1672  maxMVA));
1673  histograms.h_assoc_mvacut_hp.back().push_back(
1674  ibook.book1D("num_assoc(simToReco)_mva" + istr + "cut_hp",
1675  "N of associated tracks (simToReco) vs cut on MVA" + istr + pfix2,
1676  nintMVA,
1677  minMVA,
1678  maxMVA));
1679  histograms.h_assoc2_mvacut_hp.back().push_back(
1680  ibook.book1D("num_assoc(recoToSim)_mva" + istr + "cut_hp",
1681  "N of associated tracks (recoToSim) vs cut on MVA" + istr + pfix2,
1682  nintMVA,
1683  minMVA,
1684  maxMVA));
1685  histograms.h_simul2_mvacut_hp.back().push_back(
1686  ibook.book1D("num_simul2_mva" + istr + "cut_hp",
1687  "N of simulated tracks (associated to any track) vs cut on MVA" + istr + pfix2,
1688  nintMVA,
1689  minMVA,
1690  maxMVA));
1691 
1692  histograms.h_assoc2_mva_vs_pt_hp.back().push_back(
1693  makeProfileIfLogX(ibook,
1694  useLogPt,
1695  ("mva_assoc(recoToSim)_mva" + istr + "_pT_hp").c_str(),
1696  ("MVA" + istr + " of associated tracks (recoToSim) vs. track p_{T}" + pfix2).c_str(),
1697  nintPt,
1698  minPt,
1699  maxPt,
1700  minMVA,
1701  maxMVA));
1702  histograms.h_fake_mva_vs_pt_hp.back().push_back(
1703  makeProfileIfLogX(ibook,
1704  useLogPt,
1705  ("mva_fake_mva" + istr + "pT_hp").c_str(),
1706  ("MVA" + istr + " of non-associated tracks (recoToSim) vs. track p_{T}" + pfix2).c_str(),
1707  nintPt,
1708  minPt,
1709  maxPt,
1710  minMVA,
1711  maxMVA));
1712  histograms.h_assoc2_mva_vs_eta_hp.back().push_back(
1713  ibook.bookProfile("mva_assoc(recoToSim)_mva" + istr + "_eta_hp",
1714  "MVA" + istr + " of associated tracks (recoToSim) vs. track #eta" + pfix2,
1715  nintEta,
1716  minEta,
1717  maxEta,
1718  nintMVA,
1719  minMVA,
1720  maxMVA));
1721  histograms.h_fake_mva_vs_eta_hp.back().push_back(
1722  ibook.bookProfile("mva_fake_mva" + istr + "eta_hp",
1723  "MVA" + istr + " of non-associated tracks (recoToSim) vs. track #eta" + pfix2,
1724  nintEta,
1725  minEta,
1726  maxEta,
1727  nintMVA,
1728  minMVA,
1729  maxMVA));
1730  }
1731 
1732  histograms.h_reco_mva.back().push_back(
1733  ibook.book1D("num_reco_mva" + istr, "N of reco track vs MVA" + istr + pfix, nintMVA, minMVA, maxMVA));
1734  histograms.h_assoc2_mva.back().push_back(ibook.book1D("num_assoc(recoToSim)_mva" + istr,
1735  "N of associated tracks (recoToSim) vs MVA" + istr + pfix,
1736  nintMVA,
1737  minMVA,
1738  maxMVA));
1739 
1740  histograms.h_reco_mvacut.back().push_back(ibook.book1D(
1741  "num_reco_mva" + istr + "cut", "N of reco track vs cut on MVA" + istr + pfix, nintMVA, minMVA, maxMVA));
1742  histograms.h_assoc_mvacut.back().push_back(
1743  ibook.book1D("num_assoc(simToReco)_mva" + istr + "cut",
1744  "N of associated tracks (simToReco) vs cut on MVA" + istr + pfix,
1745  nintMVA,
1746  minMVA,
1747  maxMVA));
1748  histograms.h_assoc2_mvacut.back().push_back(
1749  ibook.book1D("num_assoc(recoToSim)_mva" + istr + "cut",
1750  "N of associated tracks (recoToSim) vs cut on MVA" + istr + pfix,
1751  nintMVA,
1752  minMVA,
1753  maxMVA));
1754  histograms.h_simul2_mvacut.back().push_back(
1755  ibook.book1D("num_simul2_mva" + istr + "cut",
1756  "N of simulated tracks (associated to any track) vs cut on MVA" + istr + pfix,
1757  nintMVA,
1758  minMVA,
1759  maxMVA));
1760 
1761  histograms.h_assoc2_mva_vs_pt.back().push_back(
1762  makeProfileIfLogX(ibook,
1763  useLogPt,
1764  ("mva_assoc(recoToSim)_mva" + istr + "_pT").c_str(),
1765  ("MVA" + istr + " of associated tracks (recoToSim) vs. track p_{T}" + pfix).c_str(),
1766  nintPt,
1767  minPt,
1768  maxPt,
1769  minMVA,
1770  maxMVA));
1771  histograms.h_fake_mva_vs_pt.back().push_back(
1772  makeProfileIfLogX(ibook,
1773  useLogPt,
1774  ("mva_fake_mva" + istr + "_pT").c_str(),
1775  ("MVA" + istr + " of non-associated tracks (recoToSim) vs. track p_{T}" + pfix).c_str(),
1776  nintPt,
1777  minPt,
1778  maxPt,
1779  minMVA,
1780  maxMVA));
1781  histograms.h_assoc2_mva_vs_eta.back().push_back(
1782  ibook.bookProfile("mva_assoc(recoToSim)_mva" + istr + "_eta",
1783  "MVA" + istr + " of associated tracks (recoToSim) vs. track #eta" + pfix,
1784  nintEta,
1785  minEta,
1786  maxEta,
1787  nintMVA,
1788  minMVA,
1789  maxMVA));
1790  histograms.h_fake_mva_vs_eta.back().push_back(
1791  ibook.bookProfile("mva_fake_mva" + istr + "_eta",
1792  "MVA" + istr + " of non-associated tracks (recoToSim) vs. track #eta" + pfix,
1793  nintEta,
1794  minEta,
1795  maxEta,
1796  nintMVA,
1797  minMVA,
1798  maxMVA));
1799  }
1800 }

References dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), mps_fire::i, maxEta, maxMVA, maxPt, minEta, minMVA, minPt, nintEta, nintMVA, nintPt, AlCaHLTBitMon_QueryRunRegistry::string, and useLogPt.

◆ bookRecodEdxHistos()

void MTVHistoProducerAlgoForTracker::bookRecodEdxHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 1584 of file MTVHistoProducerAlgoForTracker.cc.

1584  {
1585  // dE/dx stuff
1586  histograms.h_dedx_estim.emplace_back();
1587  histograms.h_dedx_estim.back().push_back(
1588  ibook.book1D("h_dedx_estim1", "dE/dx estimator 1", nintDeDx, minDeDx, maxDeDx));
1589  histograms.h_dedx_estim.back().push_back(
1590  ibook.book1D("h_dedx_estim2", "dE/dx estimator 2", nintDeDx, minDeDx, maxDeDx));
1591 
1592  histograms.h_dedx_nom.emplace_back();
1593  histograms.h_dedx_nom.back().push_back(
1594  ibook.book1D("h_dedx_nom1", "dE/dx number of measurements", nintHit, minHit, maxHit));
1595  histograms.h_dedx_nom.back().push_back(
1596  ibook.book1D("h_dedx_nom2", "dE/dx number of measurements", nintHit, minHit, maxHit));
1597 
1598  histograms.h_dedx_sat.emplace_back();
1599  histograms.h_dedx_sat.back().push_back(
1600  ibook.book1D("h_dedx_sat1", "dE/dx number of measurements with saturation", nintHit, minHit, maxHit));
1601  histograms.h_dedx_sat.back().push_back(
1602  ibook.book1D("h_dedx_sat2", "dE/dx number of measurements with saturation", nintHit, minHit, maxHit));
1603 }

References dqm::implementation::IBooker::book1D(), maxDeDx, maxHit, minDeDx, minHit, nintDeDx, and nintHit.

◆ bookRecoHistos()

void MTVHistoProducerAlgoForTracker::bookRecoHistos ( DQMStore::IBooker ibook,
Histograms histograms,
bool  doResolutionPlots 
)

these are needed to calculate efficiency during the harvesting for the automated validation

Definition at line 637 of file MTVHistoProducerAlgoForTracker.cc.

639  {
640  histograms.h_tracks.push_back(
641  ibook.book1D("tracks", "number of reconstructed tracks", nintTracks, minTracks, maxTracks));
642  histograms.h_fakes.push_back(ibook.book1D("fakes", "number of fake reco tracks", nintTracks, minTracks, maxTracks));
643  histograms.h_charge.push_back(ibook.book1D("charge", "charge", 3, -1.5, 1.5));
644 
645  histograms.h_hits.push_back(ibook.book1D("hits", "number of hits per track", nintHit, minHit, maxHit));
646  histograms.h_losthits.push_back(ibook.book1D("losthits", "number of lost hits per track", nintHit, minHit, maxHit));
647  histograms.h_nchi2.push_back(ibook.book1D("chi2", "normalized #chi^{2}", 200, 0, 20));
648  histograms.h_nchi2_prob.push_back(ibook.book1D("chi2_prob", "normalized #chi^{2} probability", 100, 0, 1));
649 
650  histograms.h_nmisslayers_inner.push_back(
651  ibook.book1D("missing_inner_layers", "number of missing inner layers", nintLayers, minLayers, maxLayers));
652  histograms.h_nmisslayers_outer.push_back(
653  ibook.book1D("missing_outer_layers", "number of missing outer layers", nintLayers, minLayers, maxLayers));
654 
655  histograms.h_algo.push_back(
656  ibook.book1D("h_algo", "Tracks by algo", reco::TrackBase::algoSize, 0., double(reco::TrackBase::algoSize)));
657  for (size_t ibin = 0; ibin < reco::TrackBase::algoSize - 1; ibin++)
658  histograms.h_algo.back()->setBinLabel(ibin + 1, reco::TrackBase::algoNames[ibin]);
659  histograms.h_algo.back()->disableAlphanumeric();
660 
662  histograms.h_recoeta.push_back(ibook.book1D("num_reco_eta", "N of reco track vs eta", nintEta, minEta, maxEta));
663  histograms.h_reco2eta.push_back(
664  ibook.book1D("num_reco2_eta", "N of selected reco track vs eta", nintEta, minEta, maxEta));
665  histograms.h_assoc2eta.push_back(
666  ibook.book1D("num_assoc(recoToSim)_eta", "N of associated (recoToSim) tracks vs eta", nintEta, minEta, maxEta));
667  histograms.h_loopereta.push_back(ibook.book1D(
668  "num_duplicate_eta", "N of associated (recoToSim) duplicate tracks vs eta", nintEta, minEta, maxEta));
669  if (!doSeedPlots_)
670  histograms.h_misideta.push_back(ibook.book1D(
671  "num_chargemisid_eta", "N of associated (recoToSim) charge misIDed tracks vs eta", nintEta, minEta, maxEta));
672  histograms.h_pileupeta.push_back(
673  ibook.book1D("num_pileup_eta", "N of associated (recoToSim) pileup tracks vs eta", nintEta, minEta, maxEta));
674  //
675  histograms.h_recopT.push_back(
676  make1DIfLogX(ibook, useLogPt, "num_reco_pT", "N of reco track vs pT", nintPt, minPt, maxPt));
677  histograms.h_reco2pT.push_back(
678  make1DIfLogX(ibook, useLogPt, "num_reco2_pT", "N of selected reco track vs pT", nintPt, minPt, maxPt));
679  histograms.h_assoc2pT.push_back(make1DIfLogX(
680  ibook, useLogPt, "num_assoc(recoToSim)_pT", "N of associated (recoToSim) tracks vs pT", nintPt, minPt, maxPt));
681  histograms.h_looperpT.push_back(make1DIfLogX(
682  ibook, useLogPt, "num_duplicate_pT", "N of associated (recoToSim) duplicate tracks vs pT", nintPt, minPt, maxPt));
683  if (!doSeedPlots_)
684  histograms.h_misidpT.push_back(make1DIfLogX(ibook,
685  useLogPt,
686  "num_chargemisid_pT",
687  "N of associated (recoToSim) charge misIDed tracks vs pT",
688  nintPt,
689  minPt,
690  maxPt));
691  histograms.h_pileuppT.push_back(make1DIfLogX(
692  ibook, useLogPt, "num_pileup_pT", "N of associated (recoToSim) pileup tracks vs pT", nintPt, minPt, maxPt));
693  //
694  histograms.h_recopTvseta.push_back(make2DIfLogY(ibook,
695  useLogPt,
696  "num_reco_pTvseta",
697  "N of reco track in (pT-eta) plane",
698  nintEta,
699  minEta,
700  maxEta,
701  nintPt,
702  minPt,
703  maxPt));
704  histograms.h_reco2pTvseta.push_back(make2DIfLogY(ibook,
705  useLogPt,
706  "num_reco2_pTvseta",
707  "N of selected reco track in (pT-eta) plane",
708  nintEta,
709  minEta,
710  maxEta,
711  nintPt,
712  minPt,
713  maxPt));
714  histograms.h_assoc2pTvseta.push_back(make2DIfLogY(ibook,
715  useLogPt,
716  "num_assoc(recoToSim)_pTvseta",
717  "N of associated (recoToSim) tracks in (pT-eta) plane",
718  nintEta,
719  minEta,
720  maxEta,
721  nintPt,
722  minPt,
723  maxPt));
724  histograms.h_looperpTvseta.push_back(make2DIfLogY(ibook,
725  useLogPt,
726  "num_duplicate_pTvseta",
727  "N of associated (recoToSim) duplicate tracks in (pT-eta) plane",
728  nintEta,
729  minEta,
730  maxEta,
731  nintPt,
732  minPt,
733  maxPt));
734  if (!doSeedPlots_)
735  histograms.h_misidpTvseta.push_back(
736  make2DIfLogY(ibook,
737  useLogPt,
738  "num_chargemisid_pTvseta",
739  "N of associated (recoToSim) charge misIDed tracks in (pT-eta) plane",
740  nintEta,
741  minEta,
742  maxEta,
743  nintPt,
744  minPt,
745  maxPt));
746  histograms.h_pileuppTvseta.push_back(make2DIfLogY(ibook,
747  useLogPt,
748  "num_pileup_pTvseta",
749  "N of associated (recoToSim) pileup tracks in (pT-eta) plane",
750  nintEta,
751  minEta,
752  maxEta,
753  nintPt,
754  minPt,
755  maxPt));
756  //
757  histograms.h_recohit.push_back(ibook.book1D("num_reco_hit", "N of reco track vs hit", nintHit, minHit, maxHit));
758  histograms.h_assoc2hit.push_back(
759  ibook.book1D("num_assoc(recoToSim)_hit", "N of associated (recoToSim) tracks vs hit", nintHit, minHit, maxHit));
760  histograms.h_looperhit.push_back(ibook.book1D(
761  "num_duplicate_hit", "N of associated (recoToSim) duplicate tracks vs hit", nintHit, minHit, maxHit));
762  if (!doSeedPlots_)
763  histograms.h_misidhit.push_back(ibook.book1D(
764  "num_chargemisid_hit", "N of associated (recoToSim) charge misIDed tracks vs hit", nintHit, minHit, maxHit));
765  histograms.h_pileuphit.push_back(
766  ibook.book1D("num_pileup_hit", "N of associated (recoToSim) pileup tracks vs hit", nintHit, minHit, maxHit));
767  //
768  histograms.h_recolayer.push_back(
769  ibook.book1D("num_reco_layer", "N of reco track vs layer", nintLayers, minLayers, maxLayers));
770  histograms.h_assoc2layer.push_back(ibook.book1D(
771  "num_assoc(recoToSim)_layer", "N of associated (recoToSim) tracks vs layer", nintLayers, minLayers, maxLayers));
772  histograms.h_looperlayer.push_back(ibook.book1D(
773  "num_duplicate_layer", "N of associated (recoToSim) duplicate tracks vs layer", nintLayers, minLayers, maxLayers));
774  if (!doSeedPlots_)
775  histograms.h_misidlayer.push_back(ibook.book1D("num_chargemisid_layer",
776  "N of associated (recoToSim) charge misIDed tracks vs layer",
777  nintLayers,
778  minLayers,
779  maxLayers));
780  histograms.h_pileuplayer.push_back(ibook.book1D(
781  "num_pileup_layer", "N of associated (recoToSim) pileup tracks vs layer", nintLayers, minLayers, maxLayers));
782  //
783  histograms.h_recopixellayer.push_back(
784  ibook.book1D("num_reco_pixellayer", "N of reco track vs pixellayer", nintLayers, minLayers, maxLayers));
785  histograms.h_assoc2pixellayer.push_back(ibook.book1D("num_assoc(recoToSim)_pixellayer",
786  "N of associated (recoToSim) tracks vs pixellayer",
787  nintLayers,
788  minLayers,
789  maxLayers));
790  histograms.h_looperpixellayer.push_back(ibook.book1D("num_duplicate_pixellayer",
791  "N of associated (recoToSim) duplicate tracks vs pixellayer",
792  nintLayers,
793  minLayers,
794  maxLayers));
795  if (!doSeedPlots_)
796  histograms.h_misidpixellayer.push_back(
797  ibook.book1D("num_chargemisid_pixellayer",
798  "N of associated (recoToSim) charge misIDed tracks vs pixellayer",
799  nintLayers,
800  minLayers,
801  maxLayers));
802  histograms.h_pileuppixellayer.push_back(ibook.book1D("num_pileup_pixellayer",
803  "N of associated (recoToSim) pileup tracks vs pixellayer",
804  nintLayers,
805  minLayers,
806  maxLayers));
807  //
808  histograms.h_reco3Dlayer.push_back(
809  ibook.book1D("num_reco_3Dlayer", "N of reco track vs 3D layer", nintLayers, minLayers, maxLayers));
810  histograms.h_assoc23Dlayer.push_back(ibook.book1D("num_assoc(recoToSim)_3Dlayer",
811  "N of associated (recoToSim) tracks vs 3D layer",
812  nintLayers,
813  minLayers,
814  maxLayers));
815  histograms.h_looper3Dlayer.push_back(ibook.book1D("num_duplicate_3Dlayer",
816  "N of associated (recoToSim) duplicate tracks vs 3D layer",
817  nintLayers,
818  minLayers,
819  maxLayers));
820  if (!doSeedPlots_)
821  histograms.h_misid3Dlayer.push_back(ibook.book1D("num_chargemisid_3Dlayer",
822  "N of associated (recoToSim) charge misIDed tracks vs 3D layer",
823  nintLayers,
824  minLayers,
825  maxLayers));
826  histograms.h_pileup3Dlayer.push_back(ibook.book1D(
827  "num_pileup_3Dlayer", "N of associated (recoToSim) pileup tracks vs 3D layer", nintLayers, minLayers, maxLayers));
828  //
829  histograms.h_recopu.push_back(ibook.book1D("num_reco_pu", "N of reco track vs pu", nintPu, minPu, maxPu));
830  histograms.h_reco2pu.push_back(ibook.book1D("num_reco2_pu", "N of selected reco track vs pu", nintPu, minPu, maxPu));
831  histograms.h_assoc2pu.push_back(
832  ibook.book1D("num_assoc(recoToSim)_pu", "N of associated (recoToSim) tracks vs pu", nintPu, minPu, maxPu));
833  histograms.h_looperpu.push_back(
834  ibook.book1D("num_duplicate_pu", "N of associated (recoToSim) duplicate tracks vs pu", nintPu, minPu, maxPu));
835  if (!doSeedPlots_)
836  histograms.h_misidpu.push_back(ibook.book1D(
837  "num_chargemisid_pu", "N of associated (recoToSim) charge misIDed tracks vs pu", nintPu, minPu, maxPu));
838  histograms.h_pileuppu.push_back(
839  ibook.book1D("num_pileup_pu", "N of associated (recoToSim) pileup tracks vs pu", nintPu, minPu, maxPu));
840  //
841  histograms.h_recophi.push_back(ibook.book1D("num_reco_phi", "N of reco track vs phi", nintPhi, minPhi, maxPhi));
842  histograms.h_assoc2phi.push_back(
843  ibook.book1D("num_assoc(recoToSim)_phi", "N of associated (recoToSim) tracks vs phi", nintPhi, minPhi, maxPhi));
844  histograms.h_looperphi.push_back(ibook.book1D(
845  "num_duplicate_phi", "N of associated (recoToSim) duplicate tracks vs phi", nintPhi, minPhi, maxPhi));
846  if (!doSeedPlots_)
847  histograms.h_misidphi.push_back(ibook.book1D(
848  "num_chargemisid_phi", "N of associated (recoToSim) charge misIDed tracks vs phi", nintPhi, minPhi, maxPhi));
849  histograms.h_pileupphi.push_back(
850  ibook.book1D("num_pileup_phi", "N of associated (recoToSim) pileup tracks vs phi", nintPhi, minPhi, maxPhi));
851 
852  histograms.h_recodxy.push_back(ibook.book1D("num_reco_dxy", "N of reco track vs dxy", nintDxy, minDxy, maxDxy));
853  histograms.h_assoc2dxy.push_back(
854  ibook.book1D("num_assoc(recoToSim)_dxy", "N of associated (recoToSim) tracks vs dxy", nintDxy, minDxy, maxDxy));
855  histograms.h_looperdxy.push_back(
856  ibook.book1D("num_duplicate_dxy", "N of associated (recoToSim) looper tracks vs dxy", nintDxy, minDxy, maxDxy));
857  if (!doSeedPlots_)
858  histograms.h_misiddxy.push_back(ibook.book1D(
859  "num_chargemisid_dxy", "N of associated (recoToSim) charge misIDed tracks vs dxy", nintDxy, minDxy, maxDxy));
860  histograms.h_pileupdxy.push_back(
861  ibook.book1D("num_pileup_dxy", "N of associated (recoToSim) pileup tracks vs dxy", nintDxy, minDxy, maxDxy));
862 
863  histograms.h_recodz.push_back(ibook.book1D("num_reco_dz", "N of reco track vs dz", nintDz, minDz, maxDz));
864  histograms.h_assoc2dz.push_back(
865  ibook.book1D("num_assoc(recoToSim)_dz", "N of associated (recoToSim) tracks vs dz", nintDz, minDz, maxDz));
866  histograms.h_looperdz.push_back(
867  ibook.book1D("num_duplicate_dz", "N of associated (recoToSim) looper tracks vs dz", nintDz, minDz, maxDz));
868  if (!doSeedPlots_)
869  histograms.h_misiddz.push_back(ibook.book1D(
870  "num_chargemisid_versus_dz", "N of associated (recoToSim) charge misIDed tracks vs dz", nintDz, minDz, maxDz));
871  histograms.h_pileupdz.push_back(
872  ibook.book1D("num_pileup_dz", "N of associated (recoToSim) pileup tracks vs dz", nintDz, minDz, maxDz));
873 
874  histograms.h_recovertpos.push_back(make1DIfLogX(ibook,
876  "num_reco_vertpos",
877  "N of reconstructed tracks vs transverse ref point position",
878  nintVertpos,
879  minVertpos,
880  maxVertpos));
881  histograms.h_assoc2vertpos.push_back(
882  make1DIfLogX(ibook,
884  "num_assoc(recoToSim)_vertpos",
885  "N of associated (recoToSim) tracks vs transverse ref point position",
886  nintVertpos,
887  minVertpos,
888  maxVertpos));
889  histograms.h_loopervertpos.push_back(
890  make1DIfLogX(ibook,
892  "num_duplicate_vertpos",
893  "N of associated (recoToSim) looper tracks vs transverse ref point position",
894  nintVertpos,
895  minVertpos,
896  maxVertpos));
897  histograms.h_pileupvertpos.push_back(
898  make1DIfLogX(ibook,
900  "num_pileup_vertpos",
901  "N of associated (recoToSim) pileup tracks vs transverse ref point position",
902  nintVertpos,
903  minVertpos,
904  maxVertpos));
905 
906  histograms.h_recozpos.push_back(ibook.book1D(
907  "num_reco_zpos", "N of reconstructed tracks vs transverse ref point position", nintZpos, minZpos, maxZpos));
908  histograms.h_assoc2zpos.push_back(ibook.book1D("num_assoc(recoToSim)_zpos",
909  "N of associated (recoToSim) tracks vs transverse ref point position",
910  nintZpos,
911  minZpos,
912  maxZpos));
913  histograms.h_looperzpos.push_back(
914  ibook.book1D("num_duplicate_zpos",
915  "N of associated (recoToSim) looper tracks vs transverse ref point position",
916  nintZpos,
917  minZpos,
918  maxZpos));
919  histograms.h_pileupzpos.push_back(
920  ibook.book1D("num_pileup_zpos",
921  "N of associated (recoToSim) pileup tracks vs transverse ref point position",
922  nintZpos,
923  minZpos,
924  maxZpos));
925 
926  histograms.h_recodr.push_back(
927  make1DIfLogX(ibook, true, "num_reco_dr", "N of reconstructed tracks vs dR", nintdr, log10(mindr), log10(maxdr)));
928  histograms.h_assoc2dr.push_back(make1DIfLogX(ibook,
929  true,
930  "num_assoc(recoToSim)_dr",
931  "N of associated tracks (recoToSim) vs dR",
932  nintdr,
933  log10(mindr),
934  log10(maxdr)));
935  histograms.h_looperdr.push_back(make1DIfLogX(ibook,
936  true,
937  "num_duplicate_dr",
938  "N of associated (recoToSim) looper tracks vs dR",
939  nintdr,
940  log10(mindr),
941  log10(maxdr)));
942  histograms.h_pileupdr.push_back(make1DIfLogX(ibook,
943  true,
944  "num_pileup_dr",
945  "N of associated (recoToSim) pileup tracks vs dR",
946  nintdr,
947  log10(mindr),
948  log10(maxdr)));
949 
950  histograms.h_recodrj.push_back(make1DIfLogX(
951  ibook, true, "num_reco_drj", "N of reconstructed tracks vs dR(track,jet)", nintdrj, log10(mindrj), log10(maxdrj)));
952  histograms.h_assoc2drj.push_back(make1DIfLogX(ibook,
953  true,
954  "num_assoc(recoToSim)_drj",
955  "N of associated tracks (recoToSim) vs dR(track,jet)",
956  nintdrj,
957  log10(mindrj),
958  log10(maxdrj)));
959  histograms.h_looperdrj.push_back(make1DIfLogX(ibook,
960  true,
961  "num_duplicate_drj",
962  "N of associated (recoToSim) looper tracks vs dR(track,jet)",
963  nintdrj,
964  log10(mindrj),
965  log10(maxdrj)));
966  histograms.h_pileupdrj.push_back(make1DIfLogX(ibook,
967  true,
968  "num_pileup_drj",
969  "N of associated (recoToSim) pileup tracks vs dR(track,jet)",
970  nintdrj,
971  log10(mindrj),
972  log10(maxdrj)));
973 
974  histograms.h_reco_simpvz.push_back(
975  ibook.book1D("num_reco_simpvz", "N of reco track vs. sim PV z", nintPVz, minPVz, maxPVz));
976  histograms.h_assoc2_simpvz.push_back(ibook.book1D(
977  "num_assoc(recoToSim)_simpvz", "N of associated tracks (recoToSim) vs. sim PV z", nintPVz, minPVz, maxPVz));
978  histograms.h_looper_simpvz.push_back(ibook.book1D(
979  "num_duplicate_simpvz", "N of associated (recoToSim) looper tracks vs. sim PV z", nintPVz, minPVz, maxPVz));
980  histograms.h_pileup_simpvz.push_back(ibook.book1D(
981  "num_pileup_simpvz", "N of associated (recoToSim) pileup tracks vs. sim PV z", nintPVz, minPVz, maxPVz));
982 
983  histograms.h_recochi2.push_back(
984  ibook.book1D("num_reco_chi2", "N of reco track vs normalized #chi^{2}", nintChi2, minChi2, maxChi2));
985  histograms.h_assoc2chi2.push_back(ibook.book1D("num_assoc(recoToSim)_chi2",
986  "N of associated (recoToSim) tracks vs normalized #chi^{2}",
987  nintChi2,
988  minChi2,
989  maxChi2));
990  histograms.h_looperchi2.push_back(ibook.book1D("num_duplicate_chi2",
991  "N of associated (recoToSim) looper tracks vs normalized #chi^{2}",
992  nintChi2,
993  minChi2,
994  maxChi2));
995  if (!doSeedPlots_)
996  histograms.h_misidchi2.push_back(
997  ibook.book1D("num_chargemisid_chi2",
998  "N of associated (recoToSim) charge misIDed tracks vs normalized #chi^{2}",
999  nintChi2,
1000  minChi2,
1001  maxChi2));
1002  histograms.h_pileupchi2.push_back(ibook.book1D("num_pileup_chi2",
1003  "N of associated (recoToSim) pileup tracks vs normalized #chi^{2}",
1004  nintChi2,
1005  minChi2,
1006  maxChi2));
1007 
1008  histograms.h_recochi2prob.push_back(
1009  ibook.book1D("num_reco_chi2prob", "N of reco track vs normalized #chi^{2}", 100, 0., 1.));
1010  histograms.h_assoc2chi2prob.push_back(ibook.book1D(
1011  "num_assoc(recoToSim)_chi2prob", "N of associated (recoToSim) tracks vs normalized #chi^{2}", 100, 0., 1.));
1012  histograms.h_looperchi2prob.push_back(ibook.book1D(
1013  "num_duplicate_chi2prob", "N of associated (recoToSim) looper tracks vs normalized #chi^{2}", 100, 0., 1.));
1014  if (!doSeedPlots_)
1015  histograms.h_misidchi2prob.push_back(
1016  ibook.book1D("num_chargemisid_chi2prob",
1017  "N of associated (recoToSim) charge misIDed tracks vs normalized #chi^{2}",
1018  100,
1019  0.,
1020  1.));
1021  histograms.h_pileupchi2prob.push_back(ibook.book1D(
1022  "num_pileup_chi2prob", "N of associated (recoToSim) pileup tracks vs normalized #chi^{2}", 100, 0., 1.));
1023 
1024  if (!seedingLayerSetNames.empty()) {
1025  const auto size = seedingLayerSetNames.size();
1026  histograms.h_reco_seedingLayerSet.push_back(
1027  ibook.book1D("num_reco_seedingLayerSet", "N of reco track vs. seedingLayerSet", size, 0, size));
1028  histograms.h_assoc2_seedingLayerSet.push_back(
1029  ibook.book1D("num_assoc(recoToSim)_seedingLayerSet",
1030  "N of associated track (recoToSim) tracks vs. seedingLayerSet",
1031  size,
1032  0,
1033  size));
1034  histograms.h_looper_seedingLayerSet.push_back(ibook.book1D(
1035  "num_duplicate_seedingLayerSet", "N of reco associated (recoToSim) looper vs. seedingLayerSet", size, 0, size));
1036  histograms.h_pileup_seedingLayerSet.push_back(ibook.book1D(
1037  "num_pileup_seedingLayerSet", "N of reco associated (recoToSim) pileup vs. seedingLayerSet", size, 0, size));
1038 
1039  setBinLabels(histograms.h_reco_seedingLayerSet.back(), seedingLayerSetNames);
1040  setBinLabels(histograms.h_assoc2_seedingLayerSet.back(), seedingLayerSetNames);
1041  setBinLabels(histograms.h_looper_seedingLayerSet.back(), seedingLayerSetNames);
1042  setBinLabels(histograms.h_pileup_seedingLayerSet.back(), seedingLayerSetNames);
1043  }
1044 
1046 
1047  auto bookResolutionPlots1D = [&](std::vector<dqm::reco::MonitorElement*>& vec, auto&&... params) {
1048  vec.push_back(doResolutionPlots ? ibook.book1D(std::forward<decltype(params)>(params)...) : nullptr);
1049  };
1050  auto bookResolutionPlots2D = [&](std::vector<dqm::reco::MonitorElement*>& vec, bool logx, auto&&... params) {
1051  vec.push_back(doResolutionPlots ? make2DIfLogX(ibook, logx, std::forward<decltype(params)>(params)...) : nullptr);
1052  };
1053  auto bookResolutionPlotsProfile2D = [&](std::vector<dqm::reco::MonitorElement*>& vec, auto&&... params) {
1054  vec.push_back(doResolutionPlots ? ibook.bookProfile2D(std::forward<decltype(params)>(params)...) : nullptr);
1055  };
1056 
1057  bookResolutionPlots1D(histograms.h_eta, "eta", "pseudorapidity residue", 1000, -0.1, 0.1);
1058  bookResolutionPlots1D(histograms.h_pt, "pullPt", "pull of p_{t}", 100, -10, 10);
1059  bookResolutionPlots1D(histograms.h_pullTheta, "pullTheta", "pull of #theta parameter", 250, -25, 25);
1060  bookResolutionPlots1D(histograms.h_pullPhi, "pullPhi", "pull of #phi parameter", 250, -25, 25);
1061  bookResolutionPlots1D(histograms.h_pullDxy, "pullDxy", "pull of dxy parameter", 250, -25, 25);
1062  bookResolutionPlots1D(histograms.h_pullDz, "pullDz", "pull of dz parameter", 250, -25, 25);
1063  bookResolutionPlots1D(histograms.h_pullQoverp, "pullQoverp", "pull of qoverp parameter", 250, -25, 25);
1064 
1065  /* TO BE FIXED -----------
1066  if (associators[ww]=="TrackAssociatorByChi2"){
1067  histograms.h_assochi2.push_back( ibook.book1D("assocChi2","track association #chi^{2}",1000000,0,100000) );
1068  histograms.h_assochi2_prob.push_back(ibook.book1D("assocChi2_prob","probability of association #chi^{2}",100,0,1));
1069  } else if (associators[ww]=="quickTrackAssociatorByHits"){
1070  histograms.h_assocFraction.push_back( ibook.book1D("assocFraction","fraction of shared hits",200,0,2) );
1071  histograms.h_assocSharedHit.push_back(ibook.book1D("assocSharedHit","number of shared hits",20,0,20));
1072  }
1073  */
1074  histograms.h_assocFraction.push_back(ibook.book1D("assocFraction", "fraction of shared hits", 200, 0, 2));
1075  histograms.h_assocSharedHit.push_back(ibook.book1D("assocSharedHit", "number of shared hits", 41, -0.5, 40.5));
1076  // ----------------------
1077 
1078  // use the standard error of the mean as the errors in the profile
1079  histograms.chi2_vs_nhits.push_back(
1080  ibook.bookProfile("chi2mean_vs_nhits", "mean #chi^{2} vs nhits", nintHit, minHit, maxHit, 100, 0, 10, " "));
1081 
1082  bookResolutionPlots2D(
1083  histograms.etares_vs_eta, false, "etares_vs_eta", "etaresidue vs eta", nintEta, minEta, maxEta, 200, -0.1, 0.1);
1084  bookResolutionPlots2D(
1085  histograms.nrec_vs_nsim,
1086  false,
1087  "nrec_vs_nsim",
1088  "Number of selected reco tracks vs. number of selected sim tracks;TrackingParticles;Reco tracks",
1089  nintTracks,
1090  minTracks,
1091  maxTracks,
1092  nintTracks,
1093  minTracks,
1094  maxTracks);
1095 
1096  histograms.chi2_vs_eta.push_back(
1097  ibook.bookProfile("chi2mean", "mean #chi^{2} vs #eta", nintEta, minEta, maxEta, 200, 0, 20, " "));
1098  histograms.chi2_vs_phi.push_back(
1099  ibook.bookProfile("chi2mean_vs_phi", "mean #chi^{2} vs #phi", nintPhi, minPhi, maxPhi, 200, 0, 20, " "));
1100  histograms.chi2_vs_pt.push_back(
1101  makeProfileIfLogX(ibook, useLogPt, "chi2mean_vs_pt", "mean #chi^{2} vs p_{T}", nintPt, minPt, maxPt, 0, 20));
1102  histograms.chi2_vs_drj.push_back(makeProfileIfLogX(
1103  ibook, true, "chi2mean_vs_drj", "mean #chi^{2} vs dR(track,jet)", nintdrj, log10(mindrj), log10(maxdrj), 0, 20));
1104 
1105  histograms.assoc_chi2_vs_eta.push_back(
1106  ibook.bookProfile("assoc_chi2mean", "mean #chi^{2} vs #eta", nintEta, minEta, maxEta, 200, 0., 20., " "));
1107  histograms.assoc_chi2prob_vs_eta.push_back(ibook.bookProfile(
1108  "assoc_chi2prob_vs_eta", "mean #chi^{2} probability vs #eta", nintEta, minEta, maxEta, 100, 0., 1., " "));
1109  histograms.assoc_chi2_vs_pt.push_back(makeProfileIfLogX(
1110  ibook, useLogPt, "assoc_chi2mean_vs_pt", "mean #chi^{2} vs p_{T}", nintPt, minPt, maxPt, 0., 20.));
1111  histograms.assoc_chi2prob_vs_pt.push_back(makeProfileIfLogX(
1112  ibook, useLogPt, "assoc_chi2prob_vs_pt", "mean #chi^{2} probability vs p_{T}", nintPt, minPt, maxPt, 0., 1.));
1113  histograms.assoc_chi2_vs_drj.push_back(makeProfileIfLogX(ibook,
1114  true,
1115  "assoc_chi2mean_vs_drj",
1116  "mean #chi^{2} vs dR(track,jet)",
1117  nintdrj,
1118  log10(mindrj),
1119  log10(maxdrj),
1120  0.,
1121  20));
1122  histograms.assoc_chi2prob_vs_drj.push_back(makeProfileIfLogX(ibook,
1123  true,
1124  "assoc_chi2prob_vs_drj",
1125  "mean #chi^{2} probability vs dR(track,jet)",
1126  nintdrj,
1127  log10(mindrj),
1128  log10(maxdrj),
1129  0.,
1130  1.));
1131 
1132  histograms.nhits_vs_eta.push_back(
1133  ibook.bookProfile("hits_eta", "mean hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1134  histograms.nPXBhits_vs_eta.push_back(ibook.bookProfile(
1135  "PXBhits_vs_eta", "mean # PXB its vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1136  histograms.nPXFhits_vs_eta.push_back(ibook.bookProfile(
1137  "PXFhits_vs_eta", "mean # PXF hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1138  histograms.nPXLhits_vs_eta.push_back(ibook.bookProfile(
1139  "PXLhits_vs_eta", "mean # PXL hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1140  histograms.nTIBhits_vs_eta.push_back(ibook.bookProfile(
1141  "TIBhits_vs_eta", "mean # TIB hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1142  histograms.nTIDhits_vs_eta.push_back(ibook.bookProfile(
1143  "TIDhits_vs_eta", "mean # TID hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1144  histograms.nTOBhits_vs_eta.push_back(ibook.bookProfile(
1145  "TOBhits_vs_eta", "mean # TOB hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1146  histograms.nTEChits_vs_eta.push_back(ibook.bookProfile(
1147  "TEChits_vs_eta", "mean # TEC hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1148  histograms.nSTRIPhits_vs_eta.push_back(ibook.bookProfile(
1149  "STRIPhits_vs_eta", "mean # STRIP hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1150 
1151  histograms.nLayersWithMeas_vs_eta.push_back(ibook.bookProfile("LayersWithMeas_eta",
1152  "mean # Layers with measurement vs eta",
1153  nintEta,
1154  minEta,
1155  maxEta,
1156  nintLayers,
1157  minLayers,
1158  maxLayers,
1159  " "));
1160  histograms.nPXLlayersWithMeas_vs_eta.push_back(ibook.bookProfile("PXLlayersWithMeas_vs_eta",
1161  "mean # PXL Layers with measurement vs eta",
1162  nintEta,
1163  minEta,
1164  maxEta,
1165  nintLayers,
1166  minLayers,
1167  maxLayers,
1168  " "));
1169  histograms.nSTRIPlayersWithMeas_vs_eta.push_back(ibook.bookProfile("STRIPlayersWithMeas_vs_eta",
1170  "mean # STRIP Layers with measurement vs eta",
1171  nintEta,
1172  minEta,
1173  maxEta,
1174  nintLayers,
1175  minLayers,
1176  maxLayers,
1177  " "));
1178  histograms.nSTRIPlayersWith1dMeas_vs_eta.push_back(ibook.bookProfile("STRIPlayersWith1dMeas_vs_eta",
1179  "mean # STRIP Layers with 1D measurement vs eta",
1180  nintEta,
1181  minEta,
1182  maxEta,
1183  nintLayers,
1184  minLayers,
1185  maxLayers,
1186  " "));
1187  histograms.nSTRIPlayersWith2dMeas_vs_eta.push_back(ibook.bookProfile("STRIPlayersWith2dMeas_vs_eta",
1188  "mean # STRIP Layers with 2D measurement vs eta",
1189  nintEta,
1190  minEta,
1191  maxEta,
1192  nintLayers,
1193  minLayers,
1194  maxLayers,
1195  " "));
1196 
1197  if (doMTDPlots_) {
1198  histograms.nMTDhits_vs_eta.push_back(ibook.bookProfile(
1199  "MTDhits_vs_eta", "mean # MTD hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1200 
1201  histograms.nBTLhits_vs_eta.push_back(ibook.bookProfile(
1202  "BTLhits_vs_eta", "mean # BTL hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1203 
1204  histograms.nETLhits_vs_eta.push_back(ibook.bookProfile(
1205  "ETLhits_vs_eta", "mean # ETL hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1206  }
1207 
1208  histograms.nhits_vs_phi.push_back(
1209  ibook.bookProfile("hits_phi", "mean # hits vs #phi", nintPhi, minPhi, maxPhi, nintHit, minHit, maxHit, " "));
1210 
1211  histograms.nlosthits_vs_eta.push_back(ibook.bookProfile(
1212  "losthits_vs_eta", "mean # lost hits vs eta", nintEta, minEta, maxEta, nintHit, minHit, maxHit, " "));
1213 
1214  //resolution of track parameters
1215  // dPt/Pt cotTheta Phi TIP LIP
1216  // log10(pt)<0.5 100,0.1 240,0.08 100,0.015 100,0.1000 150,0.3000
1217  // 0.5<log10(pt)<1.5 100,0.1 120,0.01 100,0.003 100,0.0100 150,0.0500
1218  // >1.5 100,0.3 100,0.005 100,0.0008 100,0.0060 120,0.0300
1219 
1220  bookResolutionPlots2D(histograms.ptres_vs_eta,
1221  false,
1222  "ptres_vs_eta",
1223  "ptres_vs_eta",
1224  nintEta,
1225  minEta,
1226  maxEta,
1227  ptRes_nbin,
1229  ptRes_rangeMax);
1230 
1231  bookResolutionPlots2D(histograms.ptres_vs_phi,
1232  false,
1233  "ptres_vs_phi",
1234  "p_{t} res vs #phi",
1235  nintPhi,
1236  minPhi,
1237  maxPhi,
1238  ptRes_nbin,
1240  ptRes_rangeMax);
1241 
1242  bookResolutionPlots2D(histograms.ptres_vs_pt,
1243  useLogPt,
1244  "ptres_vs_pt",
1245  "ptres_vs_pt",
1246  nintPt,
1247  minPt,
1248  maxPt,
1249  ptRes_nbin,
1251  ptRes_rangeMax);
1252 
1253  bookResolutionPlots2D(histograms.cotThetares_vs_eta,
1254  false,
1255  "cotThetares_vs_eta",
1256  "cotThetares_vs_eta",
1257  nintEta,
1258  minEta,
1259  maxEta,
1263 
1264  bookResolutionPlots2D(histograms.cotThetares_vs_pt,
1265  useLogPt,
1266  "cotThetares_vs_pt",
1267  "cotThetares_vs_pt",
1268  nintPt,
1269  minPt,
1270  maxPt,
1274 
1275  bookResolutionPlots2D(histograms.phires_vs_eta,
1276  false,
1277  "phires_vs_eta",
1278  "phires_vs_eta",
1279  nintEta,
1280  minEta,
1281  maxEta,
1282  phiRes_nbin,
1284  phiRes_rangeMax);
1285 
1286  bookResolutionPlots2D(histograms.phires_vs_pt,
1287  useLogPt,
1288  "phires_vs_pt",
1289  "phires_vs_pt",
1290  nintPt,
1291  minPt,
1292  maxPt,
1293  phiRes_nbin,
1295  phiRes_rangeMax);
1296 
1297  bookResolutionPlots2D(histograms.phires_vs_phi,
1298  false,
1299  "phires_vs_phi",
1300  "#phi res vs #phi",
1301  nintPhi,
1302  minPhi,
1303  maxPhi,
1304  phiRes_nbin,
1306  phiRes_rangeMax);
1307 
1308  bookResolutionPlots2D(histograms.dxyres_vs_eta,
1309  false,
1310  "dxyres_vs_eta",
1311  "dxyres_vs_eta",
1312  nintEta,
1313  minEta,
1314  maxEta,
1315  dxyRes_nbin,
1317  dxyRes_rangeMax);
1318 
1319  bookResolutionPlots2D(histograms.dxyres_vs_pt,
1320  useLogPt,
1321  "dxyres_vs_pt",
1322  "dxyres_vs_pt",
1323  nintPt,
1324  minPt,
1325  maxPt,
1326  dxyRes_nbin,
1328  dxyRes_rangeMax);
1329 
1330  bookResolutionPlots2D(histograms.dxyres_vs_phi,
1331  false,
1332  "dxyres_vs_phi",
1333  "dxyres_vs_phi",
1334  nintPhi,
1335  minPhi,
1336  maxPhi,
1337  dxyRes_nbin,
1339  dxyRes_rangeMax);
1340 
1341  bookResolutionPlots2D(histograms.dzres_vs_eta,
1342  false,
1343  "dzres_vs_eta",
1344  "dzres_vs_eta",
1345  nintEta,
1346  minEta,
1347  maxEta,
1348  dzRes_nbin,
1350  dzRes_rangeMax);
1351 
1352  bookResolutionPlots2D(histograms.dzres_vs_pt,
1353  useLogPt,
1354  "dzres_vs_pt",
1355  "dzres_vs_pt",
1356  nintPt,
1357  minPt,
1358  maxPt,
1359  dzRes_nbin,
1361  dzRes_rangeMax);
1362 
1363  bookResolutionPlots2D(histograms.dzres_vs_phi,
1364  false,
1365  "dzres_vs_phi",
1366  "dzres_vs_phi",
1367  nintPhi,
1368  minPhi,
1369  maxPhi,
1370  dzRes_nbin,
1372  dzRes_rangeMax);
1373 
1374  bookResolutionPlotsProfile2D(histograms.ptmean_vs_eta_phi,
1375  "ptmean_vs_eta_phi",
1376  "mean p_{t} vs #eta and #phi",
1377  nintPhi,
1378  minPhi,
1379  maxPhi,
1380  nintEta,
1381  minEta,
1382  maxEta,
1383  1000,
1384  0,
1385  1000);
1386  bookResolutionPlotsProfile2D(histograms.phimean_vs_eta_phi,
1387  "phimean_vs_eta_phi",
1388  "mean #phi vs #eta and #phi",
1389  nintPhi,
1390  minPhi,
1391  maxPhi,
1392  nintEta,
1393  minEta,
1394  maxEta,
1395  nintPhi,
1396  minPhi,
1397  maxPhi);
1398 
1399  //pulls of track params vs eta: to be used with fitslicesytool
1400  bookResolutionPlots2D(
1401  histograms.dxypull_vs_eta, false, "dxypull_vs_eta", "dxypull_vs_eta", nintEta, minEta, maxEta, 100, -10, 10);
1402  bookResolutionPlots2D(
1403  histograms.ptpull_vs_eta, false, "ptpull_vs_eta", "ptpull_vs_eta", nintEta, minEta, maxEta, 100, -10, 10);
1404  bookResolutionPlots2D(
1405  histograms.dzpull_vs_eta, false, "dzpull_vs_eta", "dzpull_vs_eta", nintEta, minEta, maxEta, 100, -10, 10);
1406  bookResolutionPlots2D(
1407  histograms.phipull_vs_eta, false, "phipull_vs_eta", "phipull_vs_eta", nintEta, minEta, maxEta, 100, -10, 10);
1408  bookResolutionPlots2D(
1409  histograms.thetapull_vs_eta, false, "thetapull_vs_eta", "thetapull_vs_eta", nintEta, minEta, maxEta, 100, -10, 10);
1410  bookResolutionPlots2D(
1411  histograms.dxypull_vs_pt, useLogPt, "dxypull_vs_pt", "dxypull_vs_pt", nintPt, minPt, maxPt, 100, -10, 10);
1412  bookResolutionPlots2D(
1413  histograms.ptpull_vs_pt, useLogPt, "ptpull_vs_pt", "ptpull_vs_pt", nintPt, minPt, maxPt, 100, -10, 10);
1414  bookResolutionPlots2D(
1415  histograms.dzpull_vs_pt, useLogPt, "dzpull_vs_pt", "dzpull_vs_pt", nintPt, minPt, maxPt, 100, -10, 10);
1416  bookResolutionPlots2D(
1417  histograms.phipull_vs_pt, useLogPt, "phipull_vs_pt", "phipull_vs_pt", nintPt, minPt, maxPt, 100, -10, 10);
1418  bookResolutionPlots2D(
1419  histograms.thetapull_vs_pt, useLogPt, "thetapull_vs_pt", "thetapull_vs_pt", nintPt, minPt, maxPt, 100, -10, 10);
1420 
1421  // histograms.h_ptshiftetamean.push_back( ibook.book1D("h_ptshifteta_Mean","<#deltapT/pT>[%] vs #eta",nintEta,minEta,maxEta) );
1422 
1423  //pulls of track params vs phi
1424  bookResolutionPlots2D(
1425  histograms.ptpull_vs_phi, false, "ptpull_vs_phi", "p_{t} pull vs #phi", nintPhi, minPhi, maxPhi, 100, -10, 10);
1426  bookResolutionPlots2D(
1427  histograms.phipull_vs_phi, false, "phipull_vs_phi", "#phi pull vs #phi", nintPhi, minPhi, maxPhi, 100, -10, 10);
1428  bookResolutionPlots2D(histograms.thetapull_vs_phi,
1429  false,
1430  "thetapull_vs_phi",
1431  "#theta pull vs #phi",
1432  nintPhi,
1433  minPhi,
1434  maxPhi,
1435  100,
1436  -10,
1437  10);
1438 
1439  bookResolutionPlots2D(histograms.nrecHit_vs_nsimHit_rec2sim,
1440  false,
1441  "nrecHit_vs_nsimHit_rec2sim",
1442  "nrecHit vs nsimHit (Rec2simAssoc)",
1443  nintHit,
1444  minHit,
1445  maxHit,
1446  nintHit,
1447  minHit,
1448  maxHit);
1449 }

References reco::TrackBase::algoNames, reco::TrackBase::algoSize, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::bookProfile(), dqm::implementation::IBooker::bookProfile2D(), cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, doMTDPlots_, doSeedPlots_, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, maxChi2, maxdr, maxdrj, maxDxy, maxDz, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxPVz, maxTracks, maxVertpos, maxZpos, mindr, mindrj, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minPVz, minTracks, minVertpos, minZpos, nintChi2, nintdr, nintdrj, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintPVz, nintTracks, nintVertpos, nintZpos, CalibrationSummaryClient_cfi::params, phiRes_nbin, phiRes_rangeMax, phiRes_rangeMin, ptRes_nbin, ptRes_rangeMax, ptRes_rangeMin, seedingLayerSetNames, HcalObjRepresent::setBinLabels(), findQualityFiles::size, useLogPt, and useLogVertpos.

◆ bookRecoPVAssociationHistos()

void MTVHistoProducerAlgoForTracker::bookRecoPVAssociationHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 1451 of file MTVHistoProducerAlgoForTracker.cc.

1451  {
1452  histograms.h_recodxypv.push_back(
1453  ibook.book1D("num_reco_dxypv", "N of reco track vs dxy(PV)", nintDxy, minDxy, maxDxy));
1454  histograms.h_assoc2dxypv.push_back(ibook.book1D(
1455  "num_assoc(recoToSim)_dxypv", "N of associated (recoToSim) tracks vs dxy(PV)", nintDxy, minDxy, maxDxy));
1456  histograms.h_looperdxypv.push_back(ibook.book1D(
1457  "num_duplicate_dxypv", "N of associated (recoToSim) looper tracks vs dxy(PV)", nintDxy, minDxy, maxDxy));
1458  if (!doSeedPlots_)
1459  histograms.h_misiddxypv.push_back(ibook.book1D("num_chargemisid_dxypv",
1460  "N of associated (recoToSim) charge misIDed tracks vs dxy(PV)",
1461  nintDxy,
1462  minDxy,
1463  maxDxy));
1464  histograms.h_pileupdxypv.push_back(ibook.book1D(
1465  "num_pileup_dxypv", "N of associated (recoToSim) pileup tracks vs dxy(PV)", nintDxy, minDxy, maxDxy));
1466 
1467  histograms.h_recodzpv.push_back(ibook.book1D("num_reco_dzpv", "N of reco track vs dz(PV)", nintDz, minDz, maxDz));
1468  histograms.h_assoc2dzpv.push_back(
1469  ibook.book1D("num_assoc(recoToSim)_dzpv", "N of associated (recoToSim) tracks vs dz(PV)", nintDz, minDz, maxDz));
1470  histograms.h_looperdzpv.push_back(
1471  ibook.book1D("num_duplicate_dzpv", "N of associated (recoToSim) looper tracks vs dz(PV)", nintDz, minDz, maxDz));
1472  if (!doSeedPlots_)
1473  histograms.h_misiddzpv.push_back(ibook.book1D("num_chargemisid_versus_dzpv",
1474  "N of associated (recoToSim) charge misIDed tracks vs dz(PV)",
1475  nintDz,
1476  minDz,
1477  maxDz));
1478  histograms.h_pileupdzpv.push_back(
1479  ibook.book1D("num_pileup_dzpv", "N of associated (recoToSim) pileup tracks vs dz(PV)", nintDz, minDz, maxDz));
1480 
1481  histograms.h_recodxypvzoomed.push_back(ibook.book1D(
1482  "num_reco_dxypv_zoomed", "N of reco track vs dxy(PV)", nintDxy, minDxy / dxyDzZoom, maxDxy / dxyDzZoom));
1483  histograms.h_assoc2dxypvzoomed.push_back(ibook.book1D("num_assoc(recoToSim)_dxypv_zoomed",
1484  "N of associated (recoToSim) tracks vs dxy(PV)",
1485  nintDxy,
1486  minDxy / dxyDzZoom,
1487  maxDxy / dxyDzZoom));
1488  histograms.h_looperdxypvzoomed.push_back(ibook.book1D("num_duplicate_dxypv_zoomed",
1489  "N of associated (recoToSim) looper tracks vs dxy(PV)",
1490  nintDxy,
1491  minDxy / dxyDzZoom,
1492  maxDxy / dxyDzZoom));
1493  if (!doSeedPlots_)
1494  histograms.h_misiddxypvzoomed.push_back(ibook.book1D("num_chargemisid_dxypv_zoomed",
1495  "N of associated (recoToSim) charge misIDed tracks vs dxy(PV)",
1496  nintDxy,
1497  minDxy / dxyDzZoom,
1498  maxDxy / dxyDzZoom));
1499  histograms.h_pileupdxypvzoomed.push_back(ibook.book1D("num_pileup_dxypv_zoomed",
1500  "N of associated (recoToSim) pileup tracks vs dxy(PV)",
1501  nintDxy,
1502  minDxy / dxyDzZoom,
1503  maxDxy / dxyDzZoom));
1504 
1505  histograms.h_recodzpvzoomed.push_back(
1506  ibook.book1D("num_reco_dzpv_zoomed", "N of reco track vs dz(PV)", nintDz, minDz / dxyDzZoom, maxDz / dxyDzZoom));
1507  histograms.h_assoc2dzpvzoomed.push_back(ibook.book1D("num_assoc(recoToSim)_dzpv_zoomed",
1508  "N of associated (recoToSim) tracks vs dz(PV)",
1509  nintDz,
1510  minDz / dxyDzZoom,
1511  maxDz / dxyDzZoom));
1512  histograms.h_looperdzpvzoomed.push_back(ibook.book1D("num_duplicate_dzpv_zoomed",
1513  "N of associated (recoToSim) looper tracks vs dz(PV)",
1514  nintDz,
1515  minDz / dxyDzZoom,
1516  maxDz / dxyDzZoom));
1517  if (!doSeedPlots_)
1518  histograms.h_misiddzpvzoomed.push_back(ibook.book1D("num_chargemisid_versus_dzpv_zoomed",
1519  "N of associated (recoToSim) charge misIDed tracks vs dz(PV)",
1520  nintDz,
1521  minDz / dxyDzZoom,
1522  maxDz / dxyDzZoom));
1523  histograms.h_pileupdzpvzoomed.push_back(ibook.book1D("num_pileup_dzpv_zoomed",
1524  "N of associated (recoToSim) pileup tracks vs dz(PV)",
1525  nintDz,
1526  minDz / dxyDzZoom,
1527  maxDz / dxyDzZoom));
1528 
1529  histograms.h_reco_dzpvcut.push_back(
1530  ibook.book1D("num_reco_dzpvcut", "N of reco track vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1531  histograms.h_assoc2_dzpvcut.push_back(ibook.book1D(
1532  "num_assoc(recoToSim)_dzpvcut", "N of associated (recoToSim) tracks vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1533  histograms.h_pileup_dzpvcut.push_back(ibook.book1D(
1534  "num_pileup_dzpvcut", "N of associated (recoToSim) pileup tracks vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1535 
1536  histograms.h_reco_dzpvcut_pt.push_back(
1537  ibook.book1D("num_reco_dzpvcut_pt", "#sump_{T} of reco track vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1538  histograms.h_assoc2_dzpvcut_pt.push_back(ibook.book1D("num_assoc(recoToSim)_dzpvcut_pt",
1539  "#sump_{T} of associated (recoToSim) tracks vs dz(PV)",
1540  nintDzpvCum,
1541  0,
1542  maxDzpvCum));
1543  histograms.h_pileup_dzpvcut_pt.push_back(ibook.book1D("num_pileup_dzpvcut_pt",
1544  "#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)",
1545  nintDzpvCum,
1546  0,
1547  maxDzpvCum));
1548  histograms.h_reco_dzpvcut_pt.back()->enableSumw2();
1549  histograms.h_assoc2_dzpvcut_pt.back()->enableSumw2();
1550  histograms.h_pileup_dzpvcut_pt.back()->enableSumw2();
1551 
1552  histograms.h_reco_dzpvsigcut.push_back(
1553  ibook.book1D("num_reco_dzpvsigcut", "N of reco track vs dz(PV)/dzError", nintDzpvsigCum, 0, maxDzpvsigCum));
1554  histograms.h_assoc2_dzpvsigcut.push_back(ibook.book1D("num_assoc(recoToSim)_dzpvsigcut",
1555  "N of associated (recoToSim) tracks vs dz(PV)/dzError",
1557  0,
1558  maxDzpvsigCum));
1559  histograms.h_pileup_dzpvsigcut.push_back(ibook.book1D("num_pileup_dzpvsigcut",
1560  "N of associated (recoToSim) pileup tracks vs dz(PV)/dzError",
1562  0,
1563  maxDzpvsigCum));
1564 
1565  histograms.h_reco_dzpvsigcut_pt.push_back(ibook.book1D(
1566  "num_reco_dzpvsigcut_pt", "#sump_{T} of reco track vs dz(PV)/dzError", nintDzpvsigCum, 0, maxDzpvsigCum));
1567  histograms.h_assoc2_dzpvsigcut_pt.push_back(
1568  ibook.book1D("num_assoc(recoToSim)_dzpvsigcut_pt",
1569  "#sump_{T} of associated (recoToSim) tracks vs dz(PV)/dzError",
1571  0,
1572  maxDzpvsigCum));
1573  histograms.h_pileup_dzpvsigcut_pt.push_back(
1574  ibook.book1D("num_pileup_dzpvsigcut_pt",
1575  "#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)/dzError",
1577  0,
1578  maxDzpvsigCum));
1579  histograms.h_reco_dzpvsigcut_pt.back()->enableSumw2();
1580  histograms.h_assoc2_dzpvsigcut_pt.back()->enableSumw2();
1581  histograms.h_pileup_dzpvsigcut_pt.back()->enableSumw2();
1582 }

References dqm::implementation::IBooker::book1D(), doSeedPlots_, dxyDzZoom, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, minDxy, minDz, nintDxy, nintDz, nintDzpvCum, and nintDzpvsigCum.

◆ bookSeedHistos()

void MTVHistoProducerAlgoForTracker::bookSeedHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 1605 of file MTVHistoProducerAlgoForTracker.cc.

1605  {
1606  histograms.h_seedsFitFailed.push_back(
1607  ibook.book1D("seeds_fitFailed", "Number of seeds for which the fit failed", nintTracks, minTracks, maxTracks));
1608  histograms.h_seedsFitFailedFraction.push_back(
1609  ibook.book1D("seeds_fitFailedFraction", "Fraction of seeds for which the fit failed", 100, 0, 1));
1610 }

References dqm::implementation::IBooker::book1D(), maxTracks, minTracks, and nintTracks.

◆ bookSimHistos()

void MTVHistoProducerAlgoForTracker::bookSimHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 395 of file MTVHistoProducerAlgoForTracker.cc.

395  {
396  histograms.h_ptSIM = make1DIfLogX(ibook, useLogPt, "ptSIM", "generated p_{t}", nintPt, minPt, maxPt);
397  histograms.h_etaSIM = ibook.book1D("etaSIM", "generated pseudorapidity", nintEta, minEta, maxEta);
398  histograms.h_phiSIM = ibook.book1D("phiSIM", "generated phi", nintPhi, minPhi, maxPhi);
399  histograms.h_tracksSIM =
400  ibook.book1D("tracksSIM", "number of simulated tracks", nintTracks, minTracks, maxTracks * 10);
401  histograms.h_vertposSIM =
402  ibook.book1D("vertposSIM", "Transverse position of sim vertices", nintVertpos, minVertpos, maxVertpos);
403  histograms.h_bunchxSIM = ibook.book1D("bunchxSIM", "bunch crossing", 21, -15.5, 5.5);
404 }

References dqm::implementation::IBooker::book1D(), maxEta, maxPhi, maxPt, maxTracks, maxVertpos, minEta, minPhi, minPt, minTracks, minVertpos, nintEta, nintPhi, nintPt, nintTracks, nintVertpos, and useLogPt.

◆ bookSimTrackHistos()

void MTVHistoProducerAlgoForTracker::bookSimTrackHistos ( DQMStore::IBooker ibook,
Histograms histograms,
bool  doResolutionPlots 
)

Definition at line 406 of file MTVHistoProducerAlgoForTracker.cc.

408  {
409  histograms.h_assoceta.push_back(
410  ibook.book1D("num_assoc(simToReco)_eta", "N of associated tracks (simToReco) vs eta", nintEta, minEta, maxEta));
411  histograms.h_simuleta.push_back(
412  ibook.book1D("num_simul_eta", "N of simulated tracks vs eta", nintEta, minEta, maxEta));
413 
414  histograms.h_assocpT.push_back(make1DIfLogX(
415  ibook, useLogPt, "num_assoc(simToReco)_pT", "N of associated tracks (simToReco) vs pT", nintPt, minPt, maxPt));
416  histograms.h_simulpT.push_back(
417  make1DIfLogX(ibook, useLogPt, "num_simul_pT", "N of simulated tracks vs pT", nintPt, minPt, maxPt));
418 
419  histograms.h_assocpTvseta.push_back(make2DIfLogY(ibook,
420  useLogPt,
421  "num_assoc(simToReco)_pTvseta",
422  "N of associated tracks (simToReco) in (pT-eta) please",
423  nintEta,
424  minEta,
425  maxEta,
426  nintPt,
427  minPt,
428  maxPt));
429  histograms.h_simulpTvseta.push_back(make2DIfLogY(ibook,
430  useLogPt,
431  "num_simul_pTvseta",
432  "N of simulated tracks in (pT-eta) plane",
433  nintEta,
434  minEta,
435  maxEta,
436  nintPt,
437  minPt,
438  maxPt));
439 
440  histograms.h_assochit.push_back(
441  ibook.book1D("num_assoc(simToReco)_hit", "N of associated tracks (simToReco) vs hit", nintHit, minHit, maxHit));
442  histograms.h_simulhit.push_back(
443  ibook.book1D("num_simul_hit", "N of simulated tracks vs hit", nintHit, minHit, maxHit));
444 
445  histograms.h_assoclayer.push_back(ibook.book1D(
446  "num_assoc(simToReco)_layer", "N of associated tracks (simToReco) vs layer", nintLayers, minLayers, maxLayers));
447  histograms.h_simullayer.push_back(
448  ibook.book1D("num_simul_layer", "N of simulated tracks vs layer", nintLayers, minLayers, maxLayers));
449 
450  histograms.h_assocpixellayer.push_back(ibook.book1D("num_assoc(simToReco)_pixellayer",
451  "N of associated tracks (simToReco) vs pixel layer",
452  nintLayers,
453  minLayers,
454  maxLayers));
455  histograms.h_simulpixellayer.push_back(
456  ibook.book1D("num_simul_pixellayer", "N of simulated tracks vs pixel layer", nintLayers, minLayers, maxLayers));
457 
458  histograms.h_assoc3Dlayer.push_back(ibook.book1D("num_assoc(simToReco)_3Dlayer",
459  "N of associated tracks (simToReco) vs 3D layer",
460  nintLayers,
461  minLayers,
462  maxLayers));
463  histograms.h_simul3Dlayer.push_back(
464  ibook.book1D("num_simul_3Dlayer", "N of simulated tracks vs 3D layer", nintLayers, minLayers, maxLayers));
465 
466  histograms.h_assocpu.push_back(
467  ibook.book1D("num_assoc(simToReco)_pu", "N of associated tracks (simToReco) vs pu", nintPu, minPu, maxPu));
468  histograms.h_simulpu.push_back(ibook.book1D("num_simul_pu", "N of simulated tracks vs pu", nintPu, minPu, maxPu));
469 
470  histograms.h_assocphi.push_back(
471  ibook.book1D("num_assoc(simToReco)_phi", "N of associated tracks (simToReco) vs phi", nintPhi, minPhi, maxPhi));
472  histograms.h_simulphi.push_back(
473  ibook.book1D("num_simul_phi", "N of simulated tracks vs phi", nintPhi, minPhi, maxPhi));
474 
475  histograms.h_assocdxy.push_back(
476  ibook.book1D("num_assoc(simToReco)_dxy", "N of associated tracks (simToReco) vs dxy", nintDxy, minDxy, maxDxy));
477  histograms.h_simuldxy.push_back(
478  ibook.book1D("num_simul_dxy", "N of simulated tracks vs dxy", nintDxy, minDxy, maxDxy));
479 
480  histograms.h_assocdz.push_back(
481  ibook.book1D("num_assoc(simToReco)_dz", "N of associated tracks (simToReco) vs dz", nintDz, minDz, maxDz));
482  histograms.h_simuldz.push_back(ibook.book1D("num_simul_dz", "N of simulated tracks vs dz", nintDz, minDz, maxDz));
483 
484  histograms.h_assocvertpos.push_back(make1DIfLogX(ibook,
486  "num_assoc(simToReco)_vertpos",
487  "N of associated tracks (simToReco) vs transverse vert position",
488  nintVertpos,
489  minVertpos,
490  maxVertpos));
491  histograms.h_simulvertpos.push_back(make1DIfLogX(ibook,
493  "num_simul_vertpos",
494  "N of simulated tracks vs transverse vert position",
495  nintVertpos,
496  minVertpos,
497  maxVertpos));
498 
499  histograms.h_assoczpos.push_back(ibook.book1D(
500  "num_assoc(simToReco)_zpos", "N of associated tracks (simToReco) vs z vert position", nintZpos, minZpos, maxZpos));
501  histograms.h_simulzpos.push_back(
502  ibook.book1D("num_simul_zpos", "N of simulated tracks vs z vert position", nintZpos, minZpos, maxZpos));
503 
504  histograms.h_assocdr.push_back(make1DIfLogX(ibook,
505  true,
506  "num_assoc(simToReco)_dr",
507  "N of associated tracks (simToReco) vs dR",
508  nintdr,
509  log10(mindr),
510  log10(maxdr)));
511  histograms.h_simuldr.push_back(
512  make1DIfLogX(ibook, true, "num_simul_dr", "N of simulated tracks vs dR", nintdr, log10(mindr), log10(maxdr)));
513 
514  histograms.h_assocdrj.push_back(make1DIfLogX(ibook,
515  true,
516  "num_assoc(simToReco)_drj",
517  "N of associated tracks (simToReco) vs dR(TP,jet)",
518  nintdrj,
519  log10(mindrj),
520  log10(maxdrj)));
521  histograms.h_simuldrj.push_back(make1DIfLogX(
522  ibook, true, "num_simul_drj", "N of simulated tracks vs dR(TP,jet)", nintdrj, log10(mindrj), log10(maxdrj)));
523 
524  histograms.h_simul_simpvz.push_back(
525  ibook.book1D("num_simul_simpvz", "N of simulated tracks vs. sim PV z", nintPVz, minPVz, maxPVz));
526  histograms.h_assoc_simpvz.push_back(ibook.book1D(
527  "num_assoc(simToReco)_simpvz", "N of associated tracks (simToReco) vs. sim PV z", nintPVz, minPVz, maxPVz));
528 
529  histograms.nrecHit_vs_nsimHit_sim2rec.push_back(doResolutionPlots ? ibook.book2D("nrecHit_vs_nsimHit_sim2rec",
530  "nrecHit vs nsimHit (Sim2RecAssoc)",
531  nintHit,
532  minHit,
533  maxHit,
534  nintHit,
535  minHit,
536  maxHit)
537  : nullptr);
538 
539  // TODO: use the dynamic track algo priority order also here
540  constexpr auto nalgos = reco::TrackBase::algoSize;
541  histograms.h_duplicates_oriAlgo_vs_oriAlgo.push_back(ibook.book2D("duplicates_oriAlgo_vs_oriAlgo",
542  "Duplicate tracks: originalAlgo vs originalAlgo",
543  nalgos,
544  0,
545  nalgos,
546  nalgos,
547  0,
548  nalgos));
549  setBinLabelsAlgo(histograms.h_duplicates_oriAlgo_vs_oriAlgo.back(), 1);
550  setBinLabelsAlgo(histograms.h_duplicates_oriAlgo_vs_oriAlgo.back(), 2);
551 }

References reco::TrackBase::algoSize, dqm::implementation::IBooker::book1D(), dqm::implementation::IBooker::book2D(), maxdr, maxdrj, maxDxy, maxDz, maxEta, maxHit, maxLayers, maxPhi, maxPt, maxPu, maxPVz, maxVertpos, maxZpos, mindr, mindrj, minDxy, minDz, minEta, minHit, minLayers, minPhi, minPt, minPu, minPVz, minVertpos, minZpos, nintdr, nintdrj, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintPVz, nintVertpos, nintZpos, useLogPt, and useLogVertpos.

◆ bookSimTrackPVAssociationHistos()

void MTVHistoProducerAlgoForTracker::bookSimTrackPVAssociationHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 553 of file MTVHistoProducerAlgoForTracker.cc.

553  {
554  histograms.h_assocdxypv.push_back(ibook.book1D(
555  "num_assoc(simToReco)_dxypv", "N of associated tracks (simToReco) vs dxy(PV)", nintDxy, minDxy, maxDxy));
556  histograms.h_simuldxypv.push_back(
557  ibook.book1D("num_simul_dxypv", "N of simulated tracks vs dxy(PV)", nintDxy, minDxy, maxDxy));
558 
559  histograms.h_assocdzpv.push_back(
560  ibook.book1D("num_assoc(simToReco)_dzpv", "N of associated tracks (simToReco) vs dz(PV)", nintDz, minDz, maxDz));
561  histograms.h_simuldzpv.push_back(
562  ibook.book1D("num_simul_dzpv", "N of simulated tracks vs dz(PV)", nintDz, minDz, maxDz));
563 
564  histograms.h_assocdxypvzoomed.push_back(ibook.book1D("num_assoc(simToReco)_dxypv_zoomed",
565  "N of associated tracks (simToReco) vs dxy(PV)",
566  nintDxy,
567  minDxy / dxyDzZoom,
568  maxDxy / dxyDzZoom));
569  histograms.h_simuldxypvzoomed.push_back(ibook.book1D(
570  "num_simul_dxypv_zoomed", "N of simulated tracks vs dxy(PV)", nintDxy, minDxy / dxyDzZoom, maxDxy / dxyDzZoom));
571 
572  histograms.h_assocdzpvzoomed.push_back(ibook.book1D("num_assoc(simToReco)_dzpv_zoomed",
573  "N of associated tracks (simToReco) vs dz(PV)",
574  nintDz,
575  minDz / dxyDzZoom,
576  maxDz / dxyDzZoom));
577  histograms.h_simuldzpvzoomed.push_back(ibook.book1D(
578  "num_simul_dzpv_zoomed", "N of simulated tracks vs dz(PV)", nintDz, minDz / dxyDzZoom, maxDz / dxyDzZoom));
579 
580  histograms.h_assoc_dzpvcut.push_back(ibook.book1D(
581  "num_assoc(simToReco)_dzpvcut", "N of associated tracks (simToReco) vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
582  histograms.h_simul_dzpvcut.push_back(
583  ibook.book1D("num_simul_dzpvcut", "N of simulated tracks from sim PV", nintDzpvCum, 0, maxDzpvCum));
584  histograms.h_simul2_dzpvcut.push_back(ibook.book1D(
585  "num_simul2_dzpvcut", "N of simulated tracks (associated to any track) from sim PV", nintDzpvCum, 0, maxDzpvCum));
586 
587  histograms.h_assoc_dzpvcut_pt.push_back(ibook.book1D("num_assoc(simToReco)_dzpvcut_pt",
588  "#sump_{T} of associated tracks (simToReco) vs dz(PV)",
589  nintDzpvCum,
590  0,
591  maxDzpvCum));
592  histograms.h_simul_dzpvcut_pt.push_back(
593  ibook.book1D("num_simul_dzpvcut_pt", "#sump_{T} of simulated tracks from sim PV", nintDzpvCum, 0, maxDzpvCum));
594  histograms.h_simul2_dzpvcut_pt.push_back(
595  ibook.book1D("num_simul2_dzpvcut_pt",
596  "#sump_{T} of simulated tracks (associated to any track) from sim PV",
597  nintDzpvCum,
598  0,
599  maxDzpvCum));
600  histograms.h_assoc_dzpvcut_pt.back()->enableSumw2();
601  histograms.h_simul_dzpvcut_pt.back()->enableSumw2();
602  histograms.h_simul2_dzpvcut_pt.back()->enableSumw2();
603 
604  histograms.h_assoc_dzpvsigcut.push_back(ibook.book1D("num_assoc(simToReco)_dzpvsigcut",
605  "N of associated tracks (simToReco) vs dz(PV)/dzError",
607  0,
608  maxDzpvsigCum));
609  histograms.h_simul_dzpvsigcut.push_back(ibook.book1D(
610  "num_simul_dzpvsigcut", "N of simulated tracks from sim PV/dzError", nintDzpvsigCum, 0, maxDzpvsigCum));
611  histograms.h_simul2_dzpvsigcut.push_back(
612  ibook.book1D("num_simul2_dzpvsigcut",
613  "N of simulated tracks (associated to any track) from sim PV/dzError",
615  0,
616  maxDzpvsigCum));
617 
618  histograms.h_assoc_dzpvsigcut_pt.push_back(
619  ibook.book1D("num_assoc(simToReco)_dzpvsigcut_pt",
620  "#sump_{T} of associated tracks (simToReco) vs dz(PV)/dzError",
622  0,
623  maxDzpvsigCum));
624  histograms.h_simul_dzpvsigcut_pt.push_back(ibook.book1D(
625  "num_simul_dzpvsigcut_pt", "#sump_{T} of simulated tracks from sim PV/dzError", nintDzpvsigCum, 0, maxDzpvsigCum));
626  histograms.h_simul2_dzpvsigcut_pt.push_back(
627  ibook.book1D("num_simul2_dzpvsigcut_pt",
628  "#sump_{T} of simulated tracks (associated to any track) from sim PV/dzError",
630  0,
631  maxDzpvsigCum));
632  histograms.h_assoc_dzpvsigcut_pt.back()->enableSumw2();
633  histograms.h_simul_dzpvsigcut_pt.back()->enableSumw2();
634  histograms.h_simul2_dzpvsigcut_pt.back()->enableSumw2();
635 }

References dqm::implementation::IBooker::book1D(), dxyDzZoom, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, minDxy, minDz, nintDxy, nintDz, nintDzpvCum, and nintDzpvsigCum.

◆ fill_dedx_recoTrack_histos()

void MTVHistoProducerAlgoForTracker::fill_dedx_recoTrack_histos ( const Histograms histograms,
int  count,
const edm::RefToBase< reco::Track > &  trackref,
const std::vector< const edm::ValueMap< reco::DeDxData > * > &  v_dEdx 
) const

Definition at line 1985 of file MTVHistoProducerAlgoForTracker.cc.

1989  {
1990  for (unsigned int i = 0; i < v_dEdx.size(); i++) {
1991  const edm::ValueMap<reco::DeDxData>& dEdxTrack = *(v_dEdx[i]);
1992  const reco::DeDxData& dedx = dEdxTrack[trackref];
1993  histograms.h_dedx_estim[count][i]->Fill(dedx.dEdx());
1994  histograms.h_dedx_nom[count][i]->Fill(dedx.numberOfMeasurements());
1995  histograms.h_dedx_sat[count][i]->Fill(dedx.numberOfSaturatedMeasurements());
1996  }
1997 }

References submitPVResolutionJobs::count, reco::DeDxData::dEdx(), mps_fire::i, reco::DeDxData::numberOfMeasurements(), and reco::DeDxData::numberOfSaturatedMeasurements().

◆ fill_duplicate_histos()

void MTVHistoProducerAlgoForTracker::fill_duplicate_histos ( const Histograms histograms,
int  count,
const reco::Track track1,
const reco::Track track2 
) const

Definition at line 1973 of file MTVHistoProducerAlgoForTracker.cc.

1976  {
1977  histograms.h_duplicates_oriAlgo_vs_oriAlgo[count]->Fill(track1.originalAlgo(), track2.originalAlgo());
1978 }

References submitPVResolutionJobs::count, and reco::TrackBase::originalAlgo().

◆ fill_generic_recoTrack_histos()

void MTVHistoProducerAlgoForTracker::fill_generic_recoTrack_histos ( const Histograms histograms,
int  count,
const reco::Track track,
const TrackerTopology ttopo,
const math::XYZPoint bsPosition,
const math::XYZPoint pvPosition,
const TrackingVertex::LorentzVector simPVPosition,
bool  isMatched,
bool  isSigMatched,
bool  isChargeMatched,
int  numAssocRecoTracks,
int  numVertices,
int  nSimHits,
double  sharedFraction,
double  dR,
double  dR_jet,
const std::vector< float > &  mvas,
unsigned int  selectsLoose,
unsigned int  selectsHP 
) const

Definition at line 1999 of file MTVHistoProducerAlgoForTracker.cc.

2017  {
2018  //Fill track algo histogram
2019  histograms.h_algo[count]->Fill(track.algo());
2020  int sharedHits = sharedFraction * track.numberOfValidHits();
2021 
2022  //Compute fake rate vs eta
2023  const auto eta = getEta(track.momentum().eta());
2024  const auto phi = track.momentum().phi();
2025  const auto pt = getPt(sqrt(track.momentum().perp2()));
2026  const auto dxy = track.dxy(bsPosition);
2027  const auto dz = track.dz(bsPosition);
2028  const auto dxypv = pvPosition ? track.dxy(*pvPosition) : 0.0;
2029  const auto dzpv = pvPosition ? track.dz(*pvPosition) : 0.0;
2030  const auto dzpvsig = pvPosition ? dzpv / track.dzError() : 0.0;
2031  const auto nhits = track.found();
2032  const auto nlayers = track.hitPattern().trackerLayersWithMeasurement();
2033  const auto nPixelLayers = track.hitPattern().pixelLayersWithMeasurement();
2034  const auto n3DLayers = nPixelLayers + track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
2035  const auto refPointWrtBS = track.referencePoint() - bsPosition;
2036  const auto vertxy = std::sqrt(refPointWrtBS.perp2());
2037  const auto vertz = refPointWrtBS.z();
2038  const auto chi2 = track.normalizedChi2();
2039  const auto chi2prob = TMath::Prob(track.chi2(), (int)track.ndof());
2040  const bool fillSeedingLayerSets = !seedingLayerSetNames.empty();
2041  const unsigned int seedingLayerSetBin = fillSeedingLayerSets ? getSeedingLayerSetBin(track, ttopo) : 0;
2042  const auto simpvz = simPVPosition ? simPVPosition->z() : 0.0;
2043 
2044  const bool paramsValid = !trackFromSeedFitFailed(track);
2045 
2046  if (paramsValid) {
2047  histograms.h_recoeta[count]->Fill(eta);
2048  histograms.h_recophi[count]->Fill(phi);
2049  histograms.h_recopT[count]->Fill(pt);
2050  histograms.h_recopTvseta[count]->Fill(eta, pt);
2051  histograms.h_recodxy[count]->Fill(dxy);
2052  histograms.h_recodz[count]->Fill(dz);
2053  histograms.h_recochi2[count]->Fill(chi2);
2054  histograms.h_recochi2prob[count]->Fill(chi2prob);
2055  histograms.h_recovertpos[count]->Fill(vertxy);
2056  histograms.h_recozpos[count]->Fill(vertz);
2057  histograms.h_recodr[count]->Fill(dR);
2058  histograms.h_recodrj[count]->Fill(dRJet);
2059  if (dRJet <= 99999) //dRJet can be set to numeric_limits max^2, this is a protection
2060  histograms.chi2_vs_drj[count]->Fill(dRJet, chi2);
2061  if (fillSeedingLayerSets)
2062  histograms.h_reco_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2063  if (pvPosition) {
2064  histograms.h_recodxypv[count]->Fill(dxypv);
2065  histograms.h_recodzpv[count]->Fill(dzpv);
2066  histograms.h_recodxypvzoomed[count]->Fill(dxypv);
2067  histograms.h_recodzpvzoomed[count]->Fill(dzpv);
2068 
2069  histograms.h_reco_dzpvcut[count]->Fill(std::abs(dzpv));
2070  histograms.h_reco_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
2071  histograms.h_reco_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
2072  histograms.h_reco_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
2073  }
2074  if (simPVPosition) {
2075  histograms.h_reco_simpvz[count]->Fill(simpvz);
2076  }
2077  if ((*trackSelectorVsEta)(track, bsPosition)) {
2078  histograms.h_reco2eta[count]->Fill(eta);
2079  }
2080  if ((*trackSelectorVsPt)(track, bsPosition)) {
2081  histograms.h_reco2pT[count]->Fill(pt);
2082  histograms.h_reco2pTvseta[count]->Fill(eta, pt);
2083  }
2084  }
2085  histograms.h_recohit[count]->Fill(nhits);
2086  histograms.h_recolayer[count]->Fill(nlayers);
2087  histograms.h_recopixellayer[count]->Fill(nPixelLayers);
2088  histograms.h_reco3Dlayer[count]->Fill(n3DLayers);
2089  histograms.h_recopu[count]->Fill(numVertices);
2090  if ((*trackSelectorVsPhi)(track, bsPosition)) {
2091  histograms.h_reco2pu[count]->Fill(numVertices);
2092  }
2093 
2094  if (!mvas.empty()) {
2095  assert(histograms.h_reco_mva.size() > static_cast<size_t>(count));
2096  assert(histograms.h_reco_mvacut.size() > static_cast<size_t>(count));
2097  assert(histograms.h_reco_mva_hp.size() > static_cast<size_t>(count));
2098  assert(histograms.h_reco_mvacut_hp.size() > static_cast<size_t>(count));
2099 
2100  fillMVAHistos(histograms.h_reco_mva[count],
2101  histograms.h_reco_mvacut[count],
2102  histograms.h_reco_mva_hp[count],
2103  histograms.h_reco_mvacut_hp[count],
2104  mvas,
2105  selectsLoose,
2106  selectsHP);
2107  }
2108 
2109  if (isMatched) {
2110  if (paramsValid) {
2111  histograms.h_assoc2eta[count]->Fill(eta);
2112  histograms.h_assoc2phi[count]->Fill(phi);
2113  histograms.h_assoc2pT[count]->Fill(pt);
2114  histograms.h_assoc2pTvseta[count]->Fill(eta, pt);
2115  histograms.h_assoc2dxy[count]->Fill(dxy);
2116  histograms.h_assoc2dz[count]->Fill(dz);
2117  histograms.h_assoc2hit[count]->Fill(nhits);
2118  histograms.h_assoc2chi2[count]->Fill(chi2);
2119  histograms.h_assoc2chi2prob[count]->Fill(chi2prob);
2120  histograms.assoc_chi2_vs_eta[count]->Fill(eta, chi2);
2121  histograms.assoc_chi2prob_vs_eta[count]->Fill(eta, chi2prob);
2122  histograms.assoc_chi2_vs_pt[count]->Fill(pt, chi2);
2123  histograms.assoc_chi2prob_vs_pt[count]->Fill(pt, chi2prob);
2124  if (dRJet <= 99999) { //dRJet can be set to numeric_limits max^2, this is a protection
2125  histograms.assoc_chi2_vs_drj[count]->Fill(dRJet, chi2);
2126  histograms.assoc_chi2prob_vs_drj[count]->Fill(dRJet, chi2prob);
2127  }
2128  histograms.h_assoc2vertpos[count]->Fill(vertxy);
2129  histograms.h_assoc2zpos[count]->Fill(vertz);
2130  histograms.h_assoc2dr[count]->Fill(dR);
2131  histograms.h_assoc2drj[count]->Fill(dRJet);
2132  if (fillSeedingLayerSets)
2133  histograms.h_assoc2_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2134  if (pvPosition) {
2135  histograms.h_assoc2dxypv[count]->Fill(dxypv);
2136  histograms.h_assoc2dzpv[count]->Fill(dzpv);
2137  histograms.h_assoc2dxypvzoomed[count]->Fill(dxypv);
2138  histograms.h_assoc2dzpvzoomed[count]->Fill(dzpv);
2139 
2140  histograms.h_assoc2_dzpvcut[count]->Fill(std::abs(dzpv));
2141  histograms.h_assoc2_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
2142  histograms.h_assoc2_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
2143  histograms.h_assoc2_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
2144  }
2145  if (simPVPosition) {
2146  histograms.h_assoc2_simpvz[count]->Fill(simpvz);
2147  }
2148  }
2149  histograms.h_assoc2layer[count]->Fill(nlayers);
2150  histograms.h_assoc2pixellayer[count]->Fill(nPixelLayers);
2151  histograms.h_assoc23Dlayer[count]->Fill(n3DLayers);
2152  histograms.h_assoc2pu[count]->Fill(numVertices);
2153 
2154  if (!mvas.empty()) {
2155  assert(histograms.h_reco_mva.size() > static_cast<size_t>(count));
2156  assert(histograms.h_reco_mvacut.size() > static_cast<size_t>(count));
2157  assert(histograms.h_reco_mva_hp.size() > static_cast<size_t>(count));
2158  assert(histograms.h_reco_mvacut_hp.size() > static_cast<size_t>(count));
2159  fillMVAHistos(histograms.h_assoc2_mva[count],
2160  histograms.h_assoc2_mvacut[count],
2161  histograms.h_assoc2_mva_hp[count],
2162  histograms.h_assoc2_mvacut_hp[count],
2163  mvas,
2164  selectsLoose,
2165  selectsHP);
2166  assert(histograms.h_assoc2_mva_vs_pt.size() > static_cast<size_t>(count));
2167  assert(histograms.h_assoc2_mva_vs_pt_hp.size() > static_cast<size_t>(count));
2168  fillMVAHistos(pt,
2169  histograms.h_assoc2_mva_vs_pt[count],
2170  histograms.h_assoc2_mva_vs_pt_hp[count],
2171  mvas,
2172  selectsLoose,
2173  selectsHP);
2174  assert(histograms.h_assoc2_mva_vs_eta.size() > static_cast<size_t>(count));
2175  assert(histograms.h_assoc2_mva_vs_eta_hp.size() > static_cast<size_t>(count));
2176  fillMVAHistos(eta,
2177  histograms.h_assoc2_mva_vs_eta[count],
2178  histograms.h_assoc2_mva_vs_eta_hp[count],
2179  mvas,
2180  selectsLoose,
2181  selectsHP);
2182  }
2183 
2184  if (histograms.nrecHit_vs_nsimHit_rec2sim[count])
2185  histograms.nrecHit_vs_nsimHit_rec2sim[count]->Fill(track.numberOfValidHits(), nSimHits);
2186  histograms.h_assocFraction[count]->Fill(sharedFraction);
2187  histograms.h_assocSharedHit[count]->Fill(sharedHits);
2188 
2189  if (!doSeedPlots_ && !isChargeMatched) {
2190  histograms.h_misideta[count]->Fill(eta);
2191  histograms.h_misidphi[count]->Fill(phi);
2192  histograms.h_misidpT[count]->Fill(pt);
2193  histograms.h_misidpTvseta[count]->Fill(eta, pt);
2194  histograms.h_misiddxy[count]->Fill(dxy);
2195  histograms.h_misiddz[count]->Fill(dz);
2196  histograms.h_misidhit[count]->Fill(nhits);
2197  histograms.h_misidlayer[count]->Fill(nlayers);
2198  histograms.h_misidpixellayer[count]->Fill(nPixelLayers);
2199  histograms.h_misid3Dlayer[count]->Fill(n3DLayers);
2200  histograms.h_misidpu[count]->Fill(numVertices);
2201  histograms.h_misidchi2[count]->Fill(chi2);
2202  histograms.h_misidchi2prob[count]->Fill(chi2prob);
2203  if (pvPosition) {
2204  histograms.h_misiddxypv[count]->Fill(dxypv);
2205  histograms.h_misiddzpv[count]->Fill(dzpv);
2206  histograms.h_misiddxypvzoomed[count]->Fill(dxypv);
2207  histograms.h_misiddzpvzoomed[count]->Fill(dzpv);
2208  }
2209  }
2210 
2211  if (numAssocRecoTracks > 1) {
2212  if (paramsValid) {
2213  histograms.h_loopereta[count]->Fill(eta);
2214  histograms.h_looperphi[count]->Fill(phi);
2215  histograms.h_looperpT[count]->Fill(pt);
2216  histograms.h_looperpTvseta[count]->Fill(eta, pt);
2217  histograms.h_looperdxy[count]->Fill(dxy);
2218  histograms.h_looperdz[count]->Fill(dz);
2219  histograms.h_looperchi2[count]->Fill(chi2);
2220  histograms.h_looperchi2prob[count]->Fill(chi2prob);
2221  histograms.h_loopervertpos[count]->Fill(vertxy);
2222  histograms.h_looperzpos[count]->Fill(vertz);
2223  histograms.h_looperdr[count]->Fill(dR);
2224  histograms.h_looperdrj[count]->Fill(dRJet);
2225  if (fillSeedingLayerSets)
2226  histograms.h_looper_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2227  if (pvPosition) {
2228  histograms.h_looperdxypv[count]->Fill(dxypv);
2229  histograms.h_looperdzpv[count]->Fill(dzpv);
2230  histograms.h_looperdxypvzoomed[count]->Fill(dxypv);
2231  histograms.h_looperdzpvzoomed[count]->Fill(dzpv);
2232  }
2233  if (simPVPosition) {
2234  histograms.h_looper_simpvz[count]->Fill(simpvz);
2235  }
2236  }
2237  histograms.h_looperhit[count]->Fill(nhits);
2238  histograms.h_looperlayer[count]->Fill(nlayers);
2239  histograms.h_looperpixellayer[count]->Fill(nPixelLayers);
2240  histograms.h_looper3Dlayer[count]->Fill(n3DLayers);
2241  histograms.h_looperpu[count]->Fill(numVertices);
2242  }
2243  if (!isSigMatched) {
2244  if (paramsValid) {
2245  histograms.h_pileupeta[count]->Fill(eta);
2246  histograms.h_pileupphi[count]->Fill(phi);
2247  histograms.h_pileuppT[count]->Fill(pt);
2248  histograms.h_pileuppTvseta[count]->Fill(eta, pt);
2249  histograms.h_pileupdxy[count]->Fill(dxy);
2250  histograms.h_pileupdz[count]->Fill(dz);
2251  histograms.h_pileupchi2[count]->Fill(chi2);
2252  histograms.h_pileupchi2prob[count]->Fill(chi2prob);
2253  histograms.h_pileupvertpos[count]->Fill(vertxy);
2254  histograms.h_pileupzpos[count]->Fill(vertz);
2255  histograms.h_pileupdr[count]->Fill(dR);
2256  histograms.h_pileupdrj[count]->Fill(dRJet);
2257  if (fillSeedingLayerSets)
2258  histograms.h_pileup_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2259  if (pvPosition) {
2260  histograms.h_pileupdxypv[count]->Fill(dxypv);
2261  histograms.h_pileupdzpv[count]->Fill(dzpv);
2262  histograms.h_pileupdxypvzoomed[count]->Fill(dxypv);
2263  histograms.h_pileupdzpvzoomed[count]->Fill(dzpv);
2264 
2265  histograms.h_pileup_dzpvcut[count]->Fill(std::abs(dzpv));
2266  histograms.h_pileup_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
2267  histograms.h_pileup_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
2268  histograms.h_pileup_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
2269  }
2270  if (simPVPosition) {
2271  histograms.h_pileup_simpvz[count]->Fill(simpvz);
2272  }
2273  }
2274  histograms.h_pileuphit[count]->Fill(nhits);
2275  histograms.h_pileuplayer[count]->Fill(nlayers);
2276  histograms.h_pileuppixellayer[count]->Fill(nPixelLayers);
2277  histograms.h_pileup3Dlayer[count]->Fill(n3DLayers);
2278  histograms.h_pileuppu[count]->Fill(numVertices);
2279  }
2280  } else { // !isMatched
2281  if (!mvas.empty()) {
2282  assert(histograms.h_fake_mva_vs_pt.size() > static_cast<size_t>(count));
2283  assert(histograms.h_fake_mva_vs_pt_hp.size() > static_cast<size_t>(count));
2284  assert(histograms.h_fake_mva_vs_eta.size() > static_cast<size_t>(count));
2285  assert(histograms.h_fake_mva_vs_eta_hp.size() > static_cast<size_t>(count));
2286  fillMVAHistos(
2287  pt, histograms.h_fake_mva_vs_pt[count], histograms.h_fake_mva_vs_pt_hp[count], mvas, selectsLoose, selectsHP);
2288  fillMVAHistos(eta,
2289  histograms.h_fake_mva_vs_eta[count],
2290  histograms.h_fake_mva_vs_eta_hp[count],
2291  mvas,
2292  selectsLoose,
2293  selectsHP);
2294  }
2295  }
2296 }

References funct::abs(), cms::cuda::assert(), hltPixelTracks_cff::chi2, submitPVResolutionJobs::count, doSeedPlots_, HGC3DClusterGenMatchSelector_cfi::dR, PVValHelper::dxy, PVValHelper::dz, PVValHelper::eta, getEta(), getPt(), getSeedingLayerSetBin(), createfilelist::int, trackerHitRTTI::isMatched(), nhits, nlayers, phi, DiDispStaMuonMonitor_cfi::pt, seedingLayerSetNames, muonCosmicCompatibility_cfi::sharedHits, mathSSE::sqrt(), HLT_FULL_cff::track, trackFromSeedFitFailed(), trackSelectorVsEta, trackSelectorVsPhi, and trackSelectorVsPt.

◆ fill_generic_simTrack_histos()

void MTVHistoProducerAlgoForTracker::fill_generic_simTrack_histos ( const Histograms histograms,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertex,
int  bx 
) const

Definition at line 1802 of file MTVHistoProducerAlgoForTracker.cc.

1805  {
1806  if (bx == 0) {
1807  histograms.h_ptSIM->Fill(sqrt(momentumTP.perp2()));
1808  histograms.h_etaSIM->Fill(momentumTP.eta());
1809  histograms.h_phiSIM->Fill(momentumTP.phi());
1810  histograms.h_vertposSIM->Fill(sqrt(vertexTP.perp2()));
1811  }
1812  histograms.h_bunchxSIM->Fill(bx);
1813 }

References l1GtPatternGenerator_cfi::bx, and mathSSE::sqrt().

◆ fill_recoAssociated_simTrack_histos() [1/2]

void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos ( const Histograms histograms,
int  count,
const reco::GenParticle tp,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
double  dxy,
double  dz,
int  nSimHits,
const reco::Track track,
int  numVertices 
) const

Definition at line 2667 of file MTVHistoProducerAlgoForTracker.cc.

2676  {
2677  bool isMatched = track;
2678 
2679  if ((*GpSelectorForEfficiencyVsEta)(tp)) {
2680  //effic vs eta
2681  histograms.h_simuleta[count]->Fill(getEta(momentumTP.eta()));
2682  if (isMatched)
2683  histograms.h_assoceta[count]->Fill(getEta(momentumTP.eta()));
2684  }
2685 
2686  if ((*GpSelectorForEfficiencyVsPhi)(tp)) {
2687  histograms.h_simulphi[count]->Fill(momentumTP.phi());
2688  if (isMatched)
2689  histograms.h_assocphi[count]->Fill(momentumTP.phi());
2690  //effic vs hits
2691  histograms.h_simulhit[count]->Fill((int)nSimHits);
2692  if (isMatched) {
2693  histograms.h_assochit[count]->Fill((int)nSimHits);
2694  if (histograms.nrecHit_vs_nsimHit_sim2rec[count])
2695  histograms.nrecHit_vs_nsimHit_sim2rec[count]->Fill(track->numberOfValidHits(), nSimHits);
2696  }
2697  //effic vs pu
2698  histograms.h_simulpu[count]->Fill(numVertices);
2699  if (isMatched)
2700  histograms.h_assocpu[count]->Fill(numVertices);
2701  //efficiency vs dR
2702  //not implemented for now
2703  }
2704 
2705  if ((*GpSelectorForEfficiencyVsPt)(tp)) {
2706  histograms.h_simulpT[count]->Fill(getPt(sqrt(momentumTP.perp2())));
2707  histograms.h_simulpTvseta[count]->Fill(getEta(momentumTP.eta()), getPt(sqrt(momentumTP.perp2())));
2708  if (isMatched) {
2709  histograms.h_assocpT[count]->Fill(getPt(sqrt(momentumTP.perp2())));
2710  histograms.h_assocpTvseta[count]->Fill(getEta(momentumTP.eta()), getPt(sqrt(momentumTP.perp2())));
2711  }
2712  }
2713 
2715  histograms.h_simuldxy[count]->Fill(dxySim);
2716  if (isMatched)
2717  histograms.h_assocdxy[count]->Fill(dxySim);
2718 
2719  histograms.h_simulvertpos[count]->Fill(sqrt(vertexTP.perp2()));
2720  if (isMatched)
2721  histograms.h_assocvertpos[count]->Fill(sqrt(vertexTP.perp2()));
2722  }
2723 
2725  histograms.h_simuldz[count]->Fill(dzSim);
2726  if (isMatched)
2727  histograms.h_assocdz[count]->Fill(dzSim);
2728 
2729  histograms.h_simulzpos[count]->Fill(vertexTP.z());
2730  if (isMatched)
2731  histograms.h_assoczpos[count]->Fill(vertexTP.z());
2732  }
2733 }

References submitPVResolutionJobs::count, getEta(), getPt(), GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, trackerHitRTTI::isMatched(), mathSSE::sqrt(), cmsswSequenceInfo::tp, and HLT_FULL_cff::track.

◆ fill_recoAssociated_simTrack_histos() [2/2]

void MTVHistoProducerAlgoForTracker::fill_recoAssociated_simTrack_histos ( const Histograms histograms,
int  count,
const TrackingParticle tp,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
double  dxy,
double  dz,
double  dxyPV,
double  dzPV,
int  nSimHits,
int  nSimLayers,
int  nSimPixelLayers,
int  nSimStripMonoAndStereoLayers,
const reco::Track track,
int  numVertices,
double  dR,
double  dR_jet,
const math::XYZPoint pvPosition,
const TrackingVertex::LorentzVector simPVPosition,
const math::XYZPoint bsPosition,
const std::vector< float > &  mvas,
unsigned int  selectsLoose,
unsigned int  selectsHP 
) const

Definition at line 1815 of file MTVHistoProducerAlgoForTracker.cc.

1838  {
1839  bool isMatched = track;
1840  const auto eta = getEta(momentumTP.eta());
1841  const auto phi = momentumTP.phi();
1842  const auto pt = getPt(sqrt(momentumTP.perp2()));
1843  const auto nSim3DLayers = nSimPixelLayers + nSimStripMonoAndStereoLayers;
1844 
1845  const auto vertexTPwrtBS = vertexTP - bsPosition;
1846  const auto vertxy = std::sqrt(vertexTPwrtBS.perp2());
1847  const auto vertz = vertexTPwrtBS.z();
1848 
1849  //efficiency vs. cut on MVA
1850  //
1851  // Note that this includes also pileup TPs, as "signalOnly"
1852  // selection is applied only in the TpSelector*. Have to think if
1853  // this is really what we want.
1854  if (isMatched) {
1855  for (size_t i = 0; i < mvas.size(); ++i) {
1856  if (i <= selectsLoose) {
1857  histograms.h_simul2_mvacut[count][i]->Fill(maxMVA);
1858  histograms.h_assoc_mvacut[count][i]->Fill(mvas[i]);
1859  }
1860  if (i >= 1 && i <= selectsHP) {
1861  histograms.h_simul2_mvacut_hp[count][i]->Fill(maxMVA);
1862  histograms.h_assoc_mvacut_hp[count][i]->Fill(mvas[i]);
1863  }
1864  }
1865  }
1866 
1867  if ((*TpSelectorForEfficiencyVsEta)(tp)) {
1868  //effic vs eta
1869  histograms.h_simuleta[count]->Fill(eta);
1870  if (isMatched)
1871  histograms.h_assoceta[count]->Fill(eta);
1872  }
1873 
1874  if ((*TpSelectorForEfficiencyVsPhi)(tp)) {
1875  histograms.h_simulphi[count]->Fill(phi);
1876  if (isMatched)
1877  histograms.h_assocphi[count]->Fill(phi);
1878  //effic vs hits
1879  histograms.h_simulhit[count]->Fill(nSimHits);
1880  histograms.h_simullayer[count]->Fill(nSimLayers);
1881  histograms.h_simulpixellayer[count]->Fill(nSimPixelLayers);
1882  histograms.h_simul3Dlayer[count]->Fill(nSim3DLayers);
1883  if (isMatched) {
1884  histograms.h_assochit[count]->Fill(nSimHits);
1885  histograms.h_assoclayer[count]->Fill(nSimLayers);
1886  histograms.h_assocpixellayer[count]->Fill(nSimPixelLayers);
1887  histograms.h_assoc3Dlayer[count]->Fill(nSim3DLayers);
1888  if (histograms.nrecHit_vs_nsimHit_sim2rec[count])
1889  histograms.nrecHit_vs_nsimHit_sim2rec[count]->Fill(track->numberOfValidHits(), nSimHits);
1890  }
1891  //effic vs pu
1892  histograms.h_simulpu[count]->Fill(numVertices);
1893  if (isMatched)
1894  histograms.h_assocpu[count]->Fill(numVertices);
1895  //efficiency vs dR
1896  histograms.h_simuldr[count]->Fill(dR);
1897  if (isMatched)
1898  histograms.h_assocdr[count]->Fill(dR);
1899  //efficiency vs dR jet
1900  histograms.h_simuldrj[count]->Fill(dRJet);
1901  if (isMatched)
1902  histograms.h_assocdrj[count]->Fill(dRJet);
1903  }
1904 
1905  if ((*TpSelectorForEfficiencyVsPt)(tp)) {
1906  histograms.h_simulpT[count]->Fill(pt);
1907  if (isMatched)
1908  histograms.h_assocpT[count]->Fill(pt);
1909  }
1910 
1912  histograms.h_simuldxy[count]->Fill(dxySim);
1913  if (isMatched)
1914  histograms.h_assocdxy[count]->Fill(dxySim);
1915  if (pvPosition) {
1916  histograms.h_simuldxypv[count]->Fill(dxyPVSim);
1917  histograms.h_simuldxypvzoomed[count]->Fill(dxyPVSim);
1918  if (isMatched) {
1919  histograms.h_assocdxypv[count]->Fill(dxyPVSim);
1920  histograms.h_assocdxypvzoomed[count]->Fill(dxyPVSim);
1921  }
1922  }
1923 
1924  histograms.h_simulvertpos[count]->Fill(vertxy);
1925  if (isMatched)
1926  histograms.h_assocvertpos[count]->Fill(vertxy);
1927  }
1928 
1930  histograms.h_simuldz[count]->Fill(dzSim);
1931  if (isMatched)
1932  histograms.h_assocdz[count]->Fill(dzSim);
1933 
1934  histograms.h_simulzpos[count]->Fill(vertz);
1935  if (isMatched)
1936  histograms.h_assoczpos[count]->Fill(vertz);
1937 
1938  if (pvPosition) {
1939  histograms.h_simuldzpv[count]->Fill(dzPVSim);
1940  histograms.h_simuldzpvzoomed[count]->Fill(dzPVSim);
1941 
1942  histograms.h_simul_dzpvcut[count]->Fill(0);
1943  histograms.h_simul_dzpvsigcut[count]->Fill(0);
1944  histograms.h_simul_dzpvcut_pt[count]->Fill(0, pt);
1945  histograms.h_simul_dzpvsigcut_pt[count]->Fill(0, pt);
1946 
1947  if (isMatched) {
1948  histograms.h_assocdzpv[count]->Fill(dzPVSim);
1949  histograms.h_assocdzpvzoomed[count]->Fill(dzPVSim);
1950 
1951  histograms.h_simul2_dzpvcut[count]->Fill(0);
1952  histograms.h_simul2_dzpvsigcut[count]->Fill(0);
1953  histograms.h_simul2_dzpvcut_pt[count]->Fill(0, pt);
1954  histograms.h_simul2_dzpvsigcut_pt[count]->Fill(0, pt);
1955  const double dzpvcut = std::abs(track->dz(*pvPosition));
1956  const double dzpvsigcut = dzpvcut / track->dzError();
1957  histograms.h_assoc_dzpvcut[count]->Fill(dzpvcut);
1958  histograms.h_assoc_dzpvsigcut[count]->Fill(dzpvsigcut);
1959  histograms.h_assoc_dzpvcut_pt[count]->Fill(dzpvcut, pt);
1960  histograms.h_assoc_dzpvsigcut_pt[count]->Fill(dzpvsigcut, pt);
1961  }
1962  }
1963  if (simPVPosition) {
1964  const auto simpvz = simPVPosition->z();
1965  histograms.h_simul_simpvz[count]->Fill(simpvz);
1966  if (isMatched) {
1967  histograms.h_assoc_simpvz[count]->Fill(simpvz);
1968  }
1969  }
1970  }
1971 }

References funct::abs(), submitPVResolutionJobs::count, HGC3DClusterGenMatchSelector_cfi::dR, PVValHelper::eta, getEta(), getPt(), mps_fire::i, trackerHitRTTI::isMatched(), maxMVA, phi, DiDispStaMuonMonitor_cfi::pt, mathSSE::sqrt(), cmsswSequenceInfo::tp, TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, TpSelectorForEfficiencyVsVTXZ, and HLT_FULL_cff::track.

◆ fill_ResoAndPull_recoTrack_histos()

void MTVHistoProducerAlgoForTracker::fill_ResoAndPull_recoTrack_histos ( const Histograms histograms,
int  count,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertexTP,
int  chargeTP,
const reco::Track track,
const math::XYZPoint bsPosition 
) const

Definition at line 2368 of file MTVHistoProducerAlgoForTracker.cc.

2374  {
2376  return;
2377 
2378  // evaluation of TP parameters
2379  double qoverpSim = chargeTP / sqrt(momentumTP.x() * momentumTP.x() + momentumTP.y() * momentumTP.y() +
2380  momentumTP.z() * momentumTP.z());
2381  double lambdaSim = M_PI / 2 - momentumTP.theta();
2382  double phiSim = momentumTP.phi();
2383  double dxySim = TrackingParticleIP::dxy(vertexTP, momentumTP, bsPosition);
2384  double dzSim = TrackingParticleIP::dz(vertexTP, momentumTP, bsPosition);
2385 
2386  // reco::Track::ParameterVector rParameters = track.parameters(); // UNUSED
2387 
2388  double qoverpRec(0);
2389  double qoverpErrorRec(0);
2390  double ptRec(0);
2391  double ptErrorRec(0);
2392  double lambdaRec(0);
2393  double lambdaErrorRec(0);
2394  double phiRec(0);
2395  double phiErrorRec(0);
2396 
2397  /* TO BE FIXED LATER -----------
2398  //loop to decide whether to take gsfTrack (utilisation of mode-function) or common track
2399  const GsfTrack* gsfTrack(0);
2400  if(useGsf){
2401  gsfTrack = dynamic_cast<const GsfTrack*>(&(*track));
2402  if (gsfTrack==0) edm::LogInfo("TrackValidator") << "Trying to access mode for a non-GsfTrack";
2403  }
2404 
2405  if (gsfTrack) {
2406  // get values from mode
2407  getRecoMomentum(*gsfTrack, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
2408  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
2409  }
2410 
2411  else {
2412  // get values from track (without mode)
2413  getRecoMomentum(*track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
2414  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
2415  }
2416  */
2417  getRecoMomentum(track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec, lambdaRec, lambdaErrorRec, phiRec, phiErrorRec);
2418  // -------------
2419 
2420  double ptError = ptErrorRec;
2421  double ptres = ptRec - sqrt(momentumTP.perp2());
2422  double etares = track.eta() - momentumTP.Eta();
2423 
2424  double dxyRec = track.dxy(bsPosition);
2425  double dzRec = track.dz(bsPosition);
2426 
2427  const auto phiRes = phiRec - phiSim;
2428  const auto dxyRes = dxyRec - dxySim;
2429  const auto dzRes = dzRec - dzSim;
2430  const auto cotThetaRes = 1 / tan(M_PI * 0.5 - lambdaRec) - 1 / tan(M_PI * 0.5 - lambdaSim);
2431 
2432  // eta residue; pt, k, theta, phi, dxy, dz pulls
2433  double qoverpPull = (qoverpRec - qoverpSim) / qoverpErrorRec;
2434  double thetaPull = (lambdaRec - lambdaSim) / lambdaErrorRec;
2435  double phiPull = phiRes / phiErrorRec;
2436  double dxyPull = dxyRes / track.dxyError();
2437  double dzPull = dzRes / track.dzError();
2438 
2439 #ifdef EDM_ML_DEBUG
2440  double contrib_Qoverp = ((qoverpRec - qoverpSim) / qoverpErrorRec) * ((qoverpRec - qoverpSim) / qoverpErrorRec) / 5;
2441  double contrib_dxy = ((dxyRec - dxySim) / track.dxyError()) * ((dxyRec - dxySim) / track.dxyError()) / 5;
2442  double contrib_dz = ((dzRec - dzSim) / track.dzError()) * ((dzRec - dzSim) / track.dzError()) / 5;
2443  double contrib_theta = ((lambdaRec - lambdaSim) / lambdaErrorRec) * ((lambdaRec - lambdaSim) / lambdaErrorRec) / 5;
2444  double contrib_phi = ((phiRec - phiSim) / phiErrorRec) * ((phiRec - phiSim) / phiErrorRec) / 5;
2445 
2446  LogTrace("TrackValidatorTEST")
2447  //<< "assocChi2=" << tp.begin()->second << "\n"
2448  << ""
2449  << "\n"
2450  << "ptREC=" << ptRec << "\n"
2451  << "etaREC=" << track.eta() << "\n"
2452  << "qoverpREC=" << qoverpRec << "\n"
2453  << "dxyREC=" << dxyRec << "\n"
2454  << "dzREC=" << dzRec << "\n"
2455  << "thetaREC=" << track.theta() << "\n"
2456  << "phiREC=" << phiRec << "\n"
2457  << ""
2458  << "\n"
2459  << "qoverpError()=" << qoverpErrorRec << "\n"
2460  << "dxyError()=" << track.dxyError() << "\n"
2461  << "dzError()=" << track.dzError() << "\n"
2462  << "thetaError()=" << lambdaErrorRec << "\n"
2463  << "phiError()=" << phiErrorRec << "\n"
2464  << ""
2465  << "\n"
2466  << "ptSIM=" << sqrt(momentumTP.perp2()) << "\n"
2467  << "etaSIM=" << momentumTP.Eta() << "\n"
2468  << "qoverpSIM=" << qoverpSim << "\n"
2469  << "dxySIM=" << dxySim << "\n"
2470  << "dzSIM=" << dzSim << "\n"
2471  << "thetaSIM=" << M_PI / 2 - lambdaSim << "\n"
2472  << "phiSIM=" << phiSim << "\n"
2473  << ""
2474  << "\n"
2475  << "contrib_Qoverp=" << contrib_Qoverp << "\n"
2476  << "contrib_dxy=" << contrib_dxy << "\n"
2477  << "contrib_dz=" << contrib_dz << "\n"
2478  << "contrib_theta=" << contrib_theta << "\n"
2479  << "contrib_phi=" << contrib_phi << "\n"
2480  << ""
2481  << "\n"
2482  << "chi2PULL=" << contrib_Qoverp + contrib_dxy + contrib_dz + contrib_theta + contrib_phi << "\n";
2483 #endif
2484 
2485  histograms.h_pullQoverp[count]->Fill(qoverpPull);
2486  histograms.h_pullTheta[count]->Fill(thetaPull);
2487  histograms.h_pullPhi[count]->Fill(phiPull);
2488  histograms.h_pullDxy[count]->Fill(dxyPull);
2489  histograms.h_pullDz[count]->Fill(dzPull);
2490 
2491  const auto etaSim = getEta(momentumTP.eta());
2492  const auto ptSim = getPt(sqrt(momentumTP.perp2()));
2493 
2494  histograms.h_pt[count]->Fill(ptres / ptError);
2495  histograms.h_eta[count]->Fill(etares);
2496  //histograms.etares_vs_eta[count]->Fill(getEta(track.eta()),etares);
2497  histograms.etares_vs_eta[count]->Fill(etaSim, etares);
2498 
2499  //resolution of track params: fill 2D histos
2500  histograms.dxyres_vs_eta[count]->Fill(etaSim, dxyRes);
2501  histograms.ptres_vs_eta[count]->Fill(etaSim, ptres / ptRec);
2502  histograms.dzres_vs_eta[count]->Fill(etaSim, dzRes);
2503  histograms.phires_vs_eta[count]->Fill(etaSim, phiRes);
2504  histograms.cotThetares_vs_eta[count]->Fill(etaSim, cotThetaRes);
2505 
2506  //same as before but vs pT
2507  histograms.dxyres_vs_pt[count]->Fill(ptSim, dxyRes);
2508  histograms.ptres_vs_pt[count]->Fill(ptSim, ptres / ptRec);
2509  histograms.dzres_vs_pt[count]->Fill(ptSim, dzRes);
2510  histograms.phires_vs_pt[count]->Fill(ptSim, phiRes);
2511  histograms.cotThetares_vs_pt[count]->Fill(ptSim, cotThetaRes);
2512 
2513  //pulls of track params vs eta: fill 2D histos
2514  histograms.dxypull_vs_eta[count]->Fill(etaSim, dxyPull);
2515  histograms.ptpull_vs_eta[count]->Fill(etaSim, ptres / ptError);
2516  histograms.dzpull_vs_eta[count]->Fill(etaSim, dzPull);
2517  histograms.phipull_vs_eta[count]->Fill(etaSim, phiPull);
2518  histograms.thetapull_vs_eta[count]->Fill(etaSim, thetaPull);
2519 
2520  //pulls of track params vs pt: fill 2D histos
2521  histograms.dxypull_vs_pt[count]->Fill(ptSim, dxyPull);
2522  histograms.ptpull_vs_pt[count]->Fill(ptSim, ptres / ptError);
2523  histograms.dzpull_vs_pt[count]->Fill(ptSim, dzPull);
2524  histograms.phipull_vs_pt[count]->Fill(ptSim, phiPull);
2525  histograms.thetapull_vs_pt[count]->Fill(ptSim, thetaPull);
2526 
2527  //plots vs phi
2528  histograms.nhits_vs_phi[count]->Fill(phiRec, track.numberOfValidHits());
2529  histograms.chi2_vs_phi[count]->Fill(phiRec, track.normalizedChi2());
2530  histograms.ptmean_vs_eta_phi[count]->Fill(phiRec, getEta(track.eta()), ptRec);
2531  histograms.phimean_vs_eta_phi[count]->Fill(phiRec, getEta(track.eta()), phiRec);
2532 
2533  histograms.dxyres_vs_phi[count]->Fill(phiSim, dxyRes);
2534  histograms.ptres_vs_phi[count]->Fill(phiSim, ptres / ptRec);
2535  histograms.dzres_vs_phi[count]->Fill(phiSim, dzRes);
2536  histograms.phires_vs_phi[count]->Fill(phiSim, phiRes);
2537 
2538  histograms.ptpull_vs_phi[count]->Fill(phiSim, ptres / ptError);
2539  histograms.phipull_vs_phi[count]->Fill(phiSim, phiPull);
2540  histograms.thetapull_vs_phi[count]->Fill(phiSim, thetaPull);
2541 }

References submitPVResolutionJobs::count, TrackingParticleIP::dxy(), TrackingParticleIP::dz(), getEta(), getPt(), getRecoMomentum(), LogTrace, M_PI, mathSSE::sqrt(), funct::tan(), HLT_FULL_cff::track, and trackFromSeedFitFailed().

◆ fill_seed_histos()

void MTVHistoProducerAlgoForTracker::fill_seed_histos ( const Histograms histograms,
int  count,
int  seedsFitFailed,
int  seedsTotal 
) const

Definition at line 2735 of file MTVHistoProducerAlgoForTracker.cc.

2738  {
2739  histograms.h_seedsFitFailed[count]->Fill(seedsFitFailed);
2740  histograms.h_seedsFitFailedFraction[count]->Fill(static_cast<double>(seedsFitFailed) / seedsTotal);
2741 }

References submitPVResolutionJobs::count.

◆ fill_simAssociated_recoTrack_histos()

void MTVHistoProducerAlgoForTracker::fill_simAssociated_recoTrack_histos ( const Histograms histograms,
int  count,
const reco::Track track 
) const

Definition at line 2298 of file MTVHistoProducerAlgoForTracker.cc.

2300  {
2301  //nchi2 and hits global distributions
2302  histograms.h_hits[count]->Fill(track.numberOfValidHits());
2303  histograms.h_losthits[count]->Fill(track.numberOfLostHits());
2304  histograms.h_nmisslayers_inner[count]->Fill(
2305  track.hitPattern().numberOfLostHits(reco::HitPattern::MISSING_INNER_HITS));
2306  histograms.h_nmisslayers_outer[count]->Fill(
2307  track.hitPattern().numberOfLostHits(reco::HitPattern::MISSING_OUTER_HITS));
2309  return;
2310 
2311  histograms.h_nchi2[count]->Fill(track.normalizedChi2());
2312  histograms.h_nchi2_prob[count]->Fill(TMath::Prob(track.chi2(), (int)track.ndof()));
2313  histograms.chi2_vs_nhits[count]->Fill(track.numberOfValidHits(), track.normalizedChi2());
2314  histograms.h_charge[count]->Fill(track.charge());
2315 
2316  //chi2 and #hit vs eta: fill 2D histos
2317  const auto eta = getEta(track.eta());
2318  histograms.chi2_vs_eta[count]->Fill(eta, track.normalizedChi2());
2319  histograms.nhits_vs_eta[count]->Fill(eta, track.numberOfValidHits());
2320  const auto pt = getPt(sqrt(track.momentum().perp2()));
2321  histograms.chi2_vs_pt[count]->Fill(pt, track.normalizedChi2());
2322  const auto pxbHits = track.hitPattern().numberOfValidPixelBarrelHits();
2323  const auto pxfHits = track.hitPattern().numberOfValidPixelEndcapHits();
2324  const auto tibHits = track.hitPattern().numberOfValidStripTIBHits();
2325  const auto tidHits = track.hitPattern().numberOfValidStripTIDHits();
2326  const auto tobHits = track.hitPattern().numberOfValidStripTOBHits();
2327  const auto tecHits = track.hitPattern().numberOfValidStripTECHits();
2328  histograms.nPXBhits_vs_eta[count]->Fill(eta, pxbHits);
2329  histograms.nPXFhits_vs_eta[count]->Fill(eta, pxfHits);
2330  histograms.nPXLhits_vs_eta[count]->Fill(eta, pxbHits + pxfHits);
2331  histograms.nTIBhits_vs_eta[count]->Fill(eta, tibHits);
2332  histograms.nTIDhits_vs_eta[count]->Fill(eta, tidHits);
2333  histograms.nTOBhits_vs_eta[count]->Fill(eta, tobHits);
2334  histograms.nTEChits_vs_eta[count]->Fill(eta, tecHits);
2335  histograms.nSTRIPhits_vs_eta[count]->Fill(eta, tibHits + tidHits + tobHits + tecHits);
2336  histograms.nLayersWithMeas_vs_eta[count]->Fill(eta, track.hitPattern().trackerLayersWithMeasurement());
2337  histograms.nPXLlayersWithMeas_vs_eta[count]->Fill(eta, track.hitPattern().pixelLayersWithMeasurement());
2338  if (doMTDPlots_) {
2339  // const auto mtdHits = track.hitPattern().numberOfValidTimingHits();
2340  const auto btlHits = track.hitPattern().numberOfValidTimingBTLHits();
2341  const auto etlHits = track.hitPattern().numberOfValidTimingETLHits();
2342  histograms.nMTDhits_vs_eta[count]->Fill(eta, btlHits + etlHits);
2343  histograms.nBTLhits_vs_eta[count]->Fill(eta, btlHits);
2344  histograms.nETLhits_vs_eta[count]->Fill(eta, etlHits);
2345  }
2346  int LayersAll = track.hitPattern().stripLayersWithMeasurement();
2347  int Layers2D = track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
2348  int Layers1D = LayersAll - Layers2D;
2349  histograms.nSTRIPlayersWithMeas_vs_eta[count]->Fill(eta, LayersAll);
2350  histograms.nSTRIPlayersWith1dMeas_vs_eta[count]->Fill(eta, Layers1D);
2351  histograms.nSTRIPlayersWith2dMeas_vs_eta[count]->Fill(eta, Layers2D);
2352 
2353  histograms.nlosthits_vs_eta[count]->Fill(eta, track.numberOfLostHits());
2354 }

References submitPVResolutionJobs::count, doMTDPlots_, PVValHelper::eta, getEta(), getPt(), createfilelist::int, reco::HitPattern::MISSING_INNER_HITS, reco::HitPattern::MISSING_OUTER_HITS, DiDispStaMuonMonitor_cfi::pt, mathSSE::sqrt(), HLT_FULL_cff::track, and trackFromSeedFitFailed().

◆ fill_simTrackBased_histos()

void MTVHistoProducerAlgoForTracker::fill_simTrackBased_histos ( const Histograms histograms,
int  numSimTracks 
) const

Definition at line 1980 of file MTVHistoProducerAlgoForTracker.cc.

1980  {
1981  histograms.h_tracksSIM->Fill(numSimTracks);
1982 }

◆ fill_trackBased_histos()

void MTVHistoProducerAlgoForTracker::fill_trackBased_histos ( const Histograms histograms,
int  count,
int  assTracks,
int  numRecoTracks,
int  numRecoTracksSelected,
int  numSimTracksSelected 
) const

Definition at line 2356 of file MTVHistoProducerAlgoForTracker.cc.

2361  {
2362  histograms.h_tracks[count]->Fill(assTracks);
2363  histograms.h_fakes[count]->Fill(numRecoTracks - assTracks);
2364  if (histograms.nrec_vs_nsim[count])
2365  histograms.nrec_vs_nsim[count]->Fill(numSimTracksSelected, numRecoTracksSelected);
2366 }

References submitPVResolutionJobs::count.

◆ getEta()

double MTVHistoProducerAlgoForTracker::getEta ( double  eta) const
private

Definition at line 2583 of file MTVHistoProducerAlgoForTracker.cc.

2583  {
2584  if (useFabsEta)
2585  return fabs(eta);
2586  else
2587  return eta;
2588 }

References PVValHelper::eta, and useFabsEta.

Referenced by fill_generic_recoTrack_histos(), fill_recoAssociated_simTrack_histos(), fill_ResoAndPull_recoTrack_histos(), and fill_simAssociated_recoTrack_histos().

◆ getPt()

double MTVHistoProducerAlgoForTracker::getPt ( double  pt) const
private

Definition at line 2590 of file MTVHistoProducerAlgoForTracker.cc.

2590  {
2591  if (useInvPt && pt != 0)
2592  return 1 / pt;
2593  else
2594  return pt;
2595 }

References DiDispStaMuonMonitor_cfi::pt, and useInvPt.

Referenced by fill_generic_recoTrack_histos(), fill_recoAssociated_simTrack_histos(), fill_ResoAndPull_recoTrack_histos(), and fill_simAssociated_recoTrack_histos().

◆ getRecoMomentum() [1/2]

void MTVHistoProducerAlgoForTracker::getRecoMomentum ( const reco::GsfTrack gsfTrack,
double &  pt,
double &  ptError,
double &  qoverp,
double &  qoverpError,
double &  lambda,
double &  lambdaError,
double &  phi,
double &  phiError 
) const
private

retrieval of reconstructed momentum components based on the mode of a reco::GsfTrack

Definition at line 2563 of file MTVHistoProducerAlgoForTracker.cc.

2571  {
2572  pt = gsfTrack.ptMode();
2573  ptError = gsfTrack.ptModeError();
2574  qoverp = gsfTrack.qoverpMode();
2575  qoverpError = gsfTrack.qoverpModeError();
2576  lambda = gsfTrack.lambdaMode();
2577  lambdaError = gsfTrack.lambdaModeError();
2578  phi = gsfTrack.phiMode();
2579  phiError = gsfTrack.phiModeError();
2580  // cout <<"test2" << endl;
2581 }

References reco::GsfTrack::lambdaMode(), reco::GsfTrack::lambdaModeError(), phi, muonME0PseudoDigis_cfi::phiError, reco::GsfTrack::phiMode(), reco::GsfTrack::phiModeError(), DiDispStaMuonMonitor_cfi::pt, reco::GsfTrack::ptMode(), reco::GsfTrack::ptModeError(), reco::GsfTrack::qoverpMode(), and reco::GsfTrack::qoverpModeError().

◆ getRecoMomentum() [2/2]

void MTVHistoProducerAlgoForTracker::getRecoMomentum ( const reco::Track track,
double &  pt,
double &  ptError,
double &  qoverp,
double &  qoverpError,
double &  lambda,
double &  lambdaError,
double &  phi,
double &  phiError 
) const
private

retrieval of reconstructed momentum components from reco::Track (== mean values for GSF)

Definition at line 2543 of file MTVHistoProducerAlgoForTracker.cc.

2551  {
2552  pt = track.pt();
2553  ptError = track.ptError();
2554  qoverp = track.qoverp();
2555  qoverpError = track.qoverpError();
2556  lambda = track.lambda();
2557  lambdaError = track.lambdaError();
2558  phi = track.phi();
2559  phiError = track.phiError();
2560  // cout <<"test1" << endl;
2561 }

References phi, muonME0PseudoDigis_cfi::phiError, DiDispStaMuonMonitor_cfi::pt, and HLT_FULL_cff::track.

Referenced by fill_ResoAndPull_recoTrack_histos().

◆ getSeedingLayerSetBin()

unsigned int MTVHistoProducerAlgoForTracker::getSeedingLayerSetBin ( const reco::Track track,
const TrackerTopology ttopo 
) const
private

Definition at line 2597 of file MTVHistoProducerAlgoForTracker.cc.

2598  {
2599  if (track.seedRef().isNull() || !track.seedRef().isAvailable())
2600  return seedingLayerSetNames.size() - 1;
2601 
2602  const TrajectorySeed& seed = *(track.seedRef());
2603  SeedingLayerSetId searchId;
2604  const int nhits = seed.nHits();
2605  if (nhits > static_cast<int>(std::tuple_size<SeedingLayerSetId>::value)) {
2606  LogDebug("TrackValidator") << "Got seed with " << nhits << " hits, but I have a hard-coded maximum of "
2608  << ", classifying the seed as 'unknown'. Please increase the maximum in "
2609  "MTVHistoProducerAlgoForTracker.h if needed.";
2610  return seedingLayerSetNames.size() - 1;
2611  }
2612  int i = 0;
2613  for (auto const& recHit : seed.recHits()) {
2614  DetId detId = recHit.geographicalId();
2615 
2616  if (detId.det() != DetId::Tracker) {
2617  throw cms::Exception("LogicError") << "Encountered seed hit detId " << detId.rawId() << " not from Tracker, but "
2618  << detId.det();
2619  }
2620 
2622  bool subdetStrip = false;
2623  switch (detId.subdetId()) {
2626  break;
2629  break;
2630  case StripSubdetector::TIB:
2631  subdet = GeomDetEnumerators::TIB;
2632  subdetStrip = true;
2633  break;
2634  case StripSubdetector::TID:
2635  subdet = GeomDetEnumerators::TID;
2636  subdetStrip = true;
2637  break;
2638  case StripSubdetector::TOB:
2639  subdet = GeomDetEnumerators::TOB;
2640  subdetStrip = true;
2641  break;
2642  case StripSubdetector::TEC:
2643  subdet = GeomDetEnumerators::TEC;
2644  subdetStrip = true;
2645  break;
2646  default:
2647  throw cms::Exception("LogicError") << "Unknown subdetId " << detId.subdetId();
2648  };
2649 
2650  TrackerDetSide side = static_cast<TrackerDetSide>(ttopo.side(detId));
2651 
2652  // Even with the recent addition of
2653  // SeedingLayerSetsBuilder::fillDescription() this assumption is a
2654  // bit ugly.
2655  const bool isStripMono = subdetStrip && trackerHitRTTI::isSingle(recHit);
2656  searchId[i] =
2657  SeedingLayerId(SeedingLayerSetsBuilder::SeedingLayerId(subdet, side, ttopo.layer(detId)), isStripMono);
2658  ++i;
2659  }
2660  auto found = seedingLayerSetToBin.find(searchId);
2661  if (found == seedingLayerSetToBin.end()) {
2662  return seedingLayerSetNames.size() - 1;
2663  }
2664  return found->second;
2665 }

References DetId::det(), Exception, newFWLiteAna::found, mps_fire::i, trackerHitRTTI::isSingle(), TrackerTopology::layer(), LogDebug, nhits, PixelSubdetector::PixelBarrel, GeomDetEnumerators::PixelBarrel, PixelSubdetector::PixelEndcap, GeomDetEnumerators::PixelEndcap, DetId::rawId(), rpcPointValidation_cfi::recHit, fileCollector::seed, seedingLayerSetNames, seedingLayerSetToBin, TrackerTopology::side(), DetId::subdetId(), GeomDetEnumerators::TEC, StripSubdetector::TEC, GeomDetEnumerators::TIB, StripSubdetector::TIB, GeomDetEnumerators::TID, StripSubdetector::TID, GeomDetEnumerators::TOB, StripSubdetector::TOB, HLT_FULL_cff::track, DetId::Tracker, and relativeConstraints::value.

Referenced by fill_generic_recoTrack_histos().

◆ makeRecoTrackSelectorFromTPSelectorParameters()

std::unique_ptr< RecoTrackSelectorBase > MTVHistoProducerAlgoForTracker::makeRecoTrackSelectorFromTPSelectorParameters ( const edm::ParameterSet pset)
static

Definition at line 371 of file MTVHistoProducerAlgoForTracker.cc.

372  {
373  edm::ParameterSet psetTrack;
374  psetTrack.copyForModify(pset);
375  psetTrack.eraseSimpleParameter("minHit");
376  psetTrack.eraseSimpleParameter("signalOnly");
377  psetTrack.eraseSimpleParameter("intimeOnly");
378  psetTrack.eraseSimpleParameter("chargedOnly");
379  psetTrack.eraseSimpleParameter("stableOnly");
380  psetTrack.addParameter("maxChi2", 1e10);
381  psetTrack.addParameter("minHit", 0);
382  psetTrack.addParameter("minPixelHit", 0);
383  psetTrack.addParameter("minLayer", 0);
384  psetTrack.addParameter("min3DLayer", 0);
385  psetTrack.addParameter("quality", std::vector<std::string>{});
386  psetTrack.addParameter("algorithm", std::vector<std::string>{});
387  psetTrack.addParameter("originalAlgorithm", std::vector<std::string>{});
388  psetTrack.addParameter("algorithmMaskContains", std::vector<std::string>{});
389  psetTrack.addParameter("invertRapidityCut", false);
390  psetTrack.addParameter("minPhi", -3.2);
391  psetTrack.addParameter("maxPhi", 3.2);
392  return std::make_unique<RecoTrackSelectorBase>(psetTrack);
393 }

References edm::ParameterSet::addParameter(), edm::ParameterSet::copyForModify(), edm::ParameterSet::eraseSimpleParameter(), and muonDTDigis_cfi::pset.

Referenced by MTVHistoProducerAlgoForTracker(), and MultiTrackValidator::MultiTrackValidator().

Member Data Documentation

◆ cotThetaRes_nbin

int MTVHistoProducerAlgoForTracker::cotThetaRes_nbin
private

◆ cotThetaRes_rangeMax

double MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMax
private

◆ cotThetaRes_rangeMin

double MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMin
private

◆ doMTDPlots_

const bool MTVHistoProducerAlgoForTracker::doMTDPlots_
private

◆ doSeedPlots_

const bool MTVHistoProducerAlgoForTracker::doSeedPlots_
private

◆ dxyDzZoom

double MTVHistoProducerAlgoForTracker::dxyDzZoom
private

◆ dxyRes_nbin

int MTVHistoProducerAlgoForTracker::dxyRes_nbin
private

◆ dxyRes_rangeMax

double MTVHistoProducerAlgoForTracker::dxyRes_rangeMax
private

◆ dxyRes_rangeMin

double MTVHistoProducerAlgoForTracker::dxyRes_rangeMin
private

◆ dzRes_nbin

int MTVHistoProducerAlgoForTracker::dzRes_nbin
private

◆ dzRes_rangeMax

double MTVHistoProducerAlgoForTracker::dzRes_rangeMax
private

◆ dzRes_rangeMin

double MTVHistoProducerAlgoForTracker::dzRes_rangeMin
private

◆ generalGpSelector

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::generalGpSelector
private

Definition at line 295 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

◆ generalTpSelector

std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::generalTpSelector
private

Definition at line 284 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

◆ GpSelectorForEfficiencyVsEta

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsEta
private

◆ GpSelectorForEfficiencyVsPhi

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPhi
private

◆ GpSelectorForEfficiencyVsPt

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPt
private

◆ GpSelectorForEfficiencyVsVTXR

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXR
private

◆ GpSelectorForEfficiencyVsVTXZ

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXZ
private

◆ maxChi2

double MTVHistoProducerAlgoForTracker::maxChi2
private

◆ maxDeDx

double MTVHistoProducerAlgoForTracker::maxDeDx
private

◆ maxdr

double MTVHistoProducerAlgoForTracker::maxdr
private

◆ maxdrj

double MTVHistoProducerAlgoForTracker::maxdrj
private

◆ maxDxy

double MTVHistoProducerAlgoForTracker::maxDxy
private

◆ maxDz

double MTVHistoProducerAlgoForTracker::maxDz
private

◆ maxDzpvCum

double MTVHistoProducerAlgoForTracker::maxDzpvCum
private

◆ maxDzpvsigCum

double MTVHistoProducerAlgoForTracker::maxDzpvsigCum
private

◆ maxEta

double MTVHistoProducerAlgoForTracker::maxEta
private

◆ maxHit

double MTVHistoProducerAlgoForTracker::maxHit
private

◆ maxLayers

double MTVHistoProducerAlgoForTracker::maxLayers
private

◆ maxMVA

double MTVHistoProducerAlgoForTracker::maxMVA
private

◆ maxPhi

double MTVHistoProducerAlgoForTracker::maxPhi
private

◆ maxPt

double MTVHistoProducerAlgoForTracker::maxPt
private

◆ maxPu

double MTVHistoProducerAlgoForTracker::maxPu
private

◆ maxPVz

double MTVHistoProducerAlgoForTracker::maxPVz
private

◆ maxTracks

double MTVHistoProducerAlgoForTracker::maxTracks
private

◆ maxVertcount

double MTVHistoProducerAlgoForTracker::maxVertcount
private

Definition at line 335 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

◆ maxVertpos

double MTVHistoProducerAlgoForTracker::maxVertpos
private

◆ maxZpos

double MTVHistoProducerAlgoForTracker::maxZpos
private

◆ minChi2

double MTVHistoProducerAlgoForTracker::minChi2
private

Definition at line 331 of file MTVHistoProducerAlgoForTracker.h.

◆ minDeDx

double MTVHistoProducerAlgoForTracker::minDeDx
private

◆ mindr

double MTVHistoProducerAlgoForTracker::mindr
private

◆ mindrj

double MTVHistoProducerAlgoForTracker::mindrj
private

◆ minDxy

double MTVHistoProducerAlgoForTracker::minDxy
private

◆ minDz

double MTVHistoProducerAlgoForTracker::minDz
private

◆ minEta

double MTVHistoProducerAlgoForTracker::minEta
private

◆ minHit

double MTVHistoProducerAlgoForTracker::minHit
private

◆ minLayers

double MTVHistoProducerAlgoForTracker::minLayers
private

◆ minMVA

double MTVHistoProducerAlgoForTracker::minMVA
private

◆ minPhi

double MTVHistoProducerAlgoForTracker::minPhi
private

◆ minPt

double MTVHistoProducerAlgoForTracker::minPt
private

◆ minPu

double MTVHistoProducerAlgoForTracker::minPu
private

◆ minPVz

double MTVHistoProducerAlgoForTracker::minPVz
private

◆ minTracks

double MTVHistoProducerAlgoForTracker::minTracks
private

◆ minVertcount

double MTVHistoProducerAlgoForTracker::minVertcount
private

Definition at line 335 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

◆ minVertpos

double MTVHistoProducerAlgoForTracker::minVertpos
private

◆ minZpos

double MTVHistoProducerAlgoForTracker::minZpos
private

◆ nintChi2

int MTVHistoProducerAlgoForTracker::nintChi2
private

◆ nintDeDx

int MTVHistoProducerAlgoForTracker::nintDeDx
private

◆ nintdr

int MTVHistoProducerAlgoForTracker::nintdr
private

◆ nintdrj

int MTVHistoProducerAlgoForTracker::nintdrj
private

◆ nintDxy

int MTVHistoProducerAlgoForTracker::nintDxy
private

◆ nintDz

int MTVHistoProducerAlgoForTracker::nintDz
private

◆ nintDzpvCum

int MTVHistoProducerAlgoForTracker::nintDzpvCum
private

◆ nintDzpvsigCum

int MTVHistoProducerAlgoForTracker::nintDzpvsigCum
private

◆ nintEta

int MTVHistoProducerAlgoForTracker::nintEta
private

◆ nintHit

int MTVHistoProducerAlgoForTracker::nintHit
private

◆ nintLayers

int MTVHistoProducerAlgoForTracker::nintLayers
private

◆ nintMVA

int MTVHistoProducerAlgoForTracker::nintMVA
private

◆ nintPhi

int MTVHistoProducerAlgoForTracker::nintPhi
private

◆ nintPt

int MTVHistoProducerAlgoForTracker::nintPt
private

◆ nintPu

int MTVHistoProducerAlgoForTracker::nintPu
private

◆ nintPVz

int MTVHistoProducerAlgoForTracker::nintPVz
private

◆ nintTracks

int MTVHistoProducerAlgoForTracker::nintTracks
private

◆ nintVertcount

int MTVHistoProducerAlgoForTracker::nintVertcount
private

Definition at line 336 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

◆ nintVertpos

int MTVHistoProducerAlgoForTracker::nintVertpos
private

◆ nintZpos

int MTVHistoProducerAlgoForTracker::nintZpos
private

◆ phiRes_nbin

int MTVHistoProducerAlgoForTracker::phiRes_nbin
private

◆ phiRes_rangeMax

double MTVHistoProducerAlgoForTracker::phiRes_rangeMax
private

◆ phiRes_rangeMin

double MTVHistoProducerAlgoForTracker::phiRes_rangeMin
private

◆ ptRes_nbin

int MTVHistoProducerAlgoForTracker::ptRes_nbin
private

◆ ptRes_rangeMax

double MTVHistoProducerAlgoForTracker::ptRes_rangeMax
private

◆ ptRes_rangeMin

double MTVHistoProducerAlgoForTracker::ptRes_rangeMin
private

◆ seedingLayerSetNames

std::vector<std::string> MTVHistoProducerAlgoForTracker::seedingLayerSetNames
private

◆ seedingLayerSetToBin

std::map<SeedingLayerSetId, unsigned int> MTVHistoProducerAlgoForTracker::seedingLayerSetToBin
private

◆ TpSelectorForEfficiencyVsEta

std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsEta
private

◆ TpSelectorForEfficiencyVsPhi

std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPhi
private

◆ TpSelectorForEfficiencyVsPt

std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPt
private

◆ TpSelectorForEfficiencyVsVTXR

std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXR
private

◆ TpSelectorForEfficiencyVsVTXZ

std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXZ
private

◆ trackSelectorVsEta

std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsEta
private

◆ trackSelectorVsPhi

std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsPhi
private

◆ trackSelectorVsPt

std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsPt
private

◆ useFabsEta

bool MTVHistoProducerAlgoForTracker::useFabsEta
private

Definition at line 304 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getEta(), and MTVHistoProducerAlgoForTracker().

◆ useInvPt

bool MTVHistoProducerAlgoForTracker::useInvPt
private

Definition at line 307 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getPt(), and MTVHistoProducerAlgoForTracker().

◆ useLogPt

bool MTVHistoProducerAlgoForTracker::useLogPt
private

◆ useLogVertpos

bool MTVHistoProducerAlgoForTracker::useLogVertpos
private
MTVHistoProducerAlgoForTracker::trackSelectorVsEta
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsEta
Definition: MTVHistoProducerAlgoForTracker.h:291
reco::GsfTrack::ptMode
double ptMode() const
track transverse momentum from mode
Definition: GsfTrack.h:47
MTVHistoProducerAlgoForTracker::maxPt
double maxPt
Definition: MTVHistoProducerAlgoForTracker.h:305
GeomDetEnumerators::SubDetector
SubDetector
Definition: GeomDetEnumerators.h:10
reco::HitPattern::MISSING_OUTER_HITS
Definition: HitPattern.h:155
reco::GsfTrack::lambdaModeError
double lambdaModeError() const
error on lambda from mode
Definition: GsfTrack.h:92
MTVHistoProducerAlgoForTracker::maxHit
double maxHit
Definition: MTVHistoProducerAlgoForTracker.h:309
TrackerTopology::side
unsigned int side(const DetId &id) const
Definition: TrackerTopology.cc:28
reco::GsfTrack::phiModeError
double phiModeError() const
error on phi from mode
Definition: GsfTrack.h:96
MTVHistoProducerAlgoForTracker::nintTracks
int nintTracks
Definition: MTVHistoProducerAlgoForTracker.h:338
MTVHistoProducerAlgoForTracker::useInvPt
bool useInvPt
Definition: MTVHistoProducerAlgoForTracker.h:307
MTVHistoProducerAlgoForTracker::maxTracks
double maxTracks
Definition: MTVHistoProducerAlgoForTracker.h:337
mps_fire.i
i
Definition: mps_fire.py:428
MTVHistoProducerAlgoForTracker::minPu
double minPu
Definition: MTVHistoProducerAlgoForTracker.h:311
MTVHistoProducerAlgoForTracker::generalGpSelector
std::unique_ptr< GenParticleCustomSelector > generalGpSelector
Definition: MTVHistoProducerAlgoForTracker.h:295
HLT_FULL_cff.track
track
Definition: HLT_FULL_cff.py:11779
MTVHistoProducerAlgoForTracker::minDxy
double minDxy
Definition: MTVHistoProducerAlgoForTracker.h:317
reco::GsfTrack::qoverpMode
double qoverpMode() const
q/p from mode
Definition: GsfTrack.h:39
MTVHistoProducerAlgoForTracker::getSeedingLayerSetBin
unsigned int getSeedingLayerSetBin(const reco::Track &track, const TrackerTopology &ttopo) const
Definition: MTVHistoProducerAlgoForTracker.cc:2597
PixelSubdetector::PixelEndcap
Definition: PixelSubdetector.h:11
MTVHistoProducerAlgoForTracker::minDz
double minDz
Definition: MTVHistoProducerAlgoForTracker.h:319
PixelSubdetector::PixelBarrel
Definition: PixelSubdetector.h:11
GeomDetEnumerators::TID
Definition: GeomDetEnumerators.h:15
MTVHistoProducerAlgoForTracker::phiRes_rangeMin
double phiRes_rangeMin
Definition: MTVHistoProducerAlgoForTracker.h:350
MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsEta
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsEta
Definition: MTVHistoProducerAlgoForTracker.h:296
trackerHitRTTI::isSingle
bool isSingle(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:26
DiDispStaMuonMonitor_cfi.pt
pt
Definition: DiDispStaMuonMonitor_cfi.py:39
MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXR
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXR
Definition: MTVHistoProducerAlgoForTracker.h:288
MTVHistoProducerAlgoForTracker::nintDeDx
int nintDeDx
Definition: MTVHistoProducerAlgoForTracker.h:334
MTVHistoProducerAlgoForTracker::useFabsEta
bool useFabsEta
Definition: MTVHistoProducerAlgoForTracker.h:304
CalibrationSummaryClient_cfi.params
params
Definition: CalibrationSummaryClient_cfi.py:14
MTVHistoProducerAlgoForTracker::useLogPt
bool useLogPt
Definition: MTVHistoProducerAlgoForTracker.h:308
MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPt
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPt
Definition: MTVHistoProducerAlgoForTracker.h:298
MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXZ
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXZ
Definition: MTVHistoProducerAlgoForTracker.h:300
edm
HLT enums.
Definition: AlignableModifier.h:19
dqm::implementation::IBooker::bookProfile2D
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:399
DetId::det
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
reco::GsfTrack::lambdaMode
double lambdaMode() const
Lambda angle from mode.
Definition: GsfTrack.h:43
GeomDetEnumerators::TIB
Definition: GeomDetEnumerators.h:13
MTVHistoProducerAlgoForTracker::maxMVA
double maxMVA
Definition: MTVHistoProducerAlgoForTracker.h:341
MTVHistoProducerAlgoForTracker::maxDeDx
double maxDeDx
Definition: MTVHistoProducerAlgoForTracker.h:333
l1GtPatternGenerator_cfi.bx
bx
Definition: l1GtPatternGenerator_cfi.py:18
MTVHistoProducerAlgoForTracker::maxLayers
double maxLayers
Definition: MTVHistoProducerAlgoForTracker.h:313
cms::cuda::assert
assert(be >=bs)
MTVHistoProducerAlgoForTracker::maxdr
double maxdr
Definition: MTVHistoProducerAlgoForTracker.h:327
TrackerTopology::layer
unsigned int layer(const DetId &id) const
Definition: TrackerTopology.cc:47
GeomDetEnumerators::TOB
Definition: GeomDetEnumerators.h:14
MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsEta
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsEta
Definition: MTVHistoProducerAlgoForTracker.h:285
MTVHistoProducerAlgoForTracker::nintDzpvCum
int nintDzpvCum
Definition: MTVHistoProducerAlgoForTracker.h:360
MTVHistoProducerAlgoForTracker::trackSelectorVsPhi
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPhi
Definition: MTVHistoProducerAlgoForTracker.h:292
MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPt
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPt
Definition: MTVHistoProducerAlgoForTracker.h:287
reco::TrackBase::originalAlgo
TrackAlgorithm originalAlgo() const
Definition: TrackBase.h:548
MTVHistoProducerAlgoForTracker::maxChi2
double maxChi2
Definition: MTVHistoProducerAlgoForTracker.h:331
edm::ParameterSet::copyForModify
void copyForModify(ParameterSet const &other)
Definition: ParameterSet.cc:100
reco::GsfTrack::phiMode
double phiMode() const
azimuthal angle of momentum vector from mode
Definition: GsfTrack.h:55
hltPixelTracks_cff.chi2
chi2
Definition: hltPixelTracks_cff.py:25
muonCosmicCompatibility_cfi.sharedHits
sharedHits
Definition: muonCosmicCompatibility_cfi.py:31
newFWLiteAna.found
found
Definition: newFWLiteAna.py:118
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
rpcPointValidation_cfi.recHit
recHit
Definition: rpcPointValidation_cfi.py:7
MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPhi
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPhi
Definition: MTVHistoProducerAlgoForTracker.h:297
MTVHistoProducerAlgoForTracker::minHit
double minHit
Definition: MTVHistoProducerAlgoForTracker.h:309
MTVHistoProducerAlgoForTracker::dxyRes_rangeMax
double dxyRes_rangeMax
Definition: MTVHistoProducerAlgoForTracker.h:354
fileCollector.seed
seed
Definition: fileCollector.py:127
DetId
Definition: DetId.h:17
GeomDetEnumerators::PixelBarrel
Definition: GeomDetEnumerators.h:11
MTVHistoProducerAlgoForTracker::nintEta
int nintEta
Definition: MTVHistoProducerAlgoForTracker.h:303
MTVHistoProducerAlgoForTracker::minPt
double minPt
Definition: MTVHistoProducerAlgoForTracker.h:305
MTVHistoProducerAlgoForTracker::nintPt
int nintPt
Definition: MTVHistoProducerAlgoForTracker.h:306
TrackingParticleIP::dxy
auto dxy(const T_Vertex &vertex, const T_Momentum &momentum, const T_Point &point)
Definition: TrackingParticleIP.h:11
MTVHistoProducerAlgoForTracker::mindr
double mindr
Definition: MTVHistoProducerAlgoForTracker.h:327
MTVHistoProducerAlgoForTracker::maxEta
double maxEta
Definition: MTVHistoProducerAlgoForTracker.h:302
MTVHistoProducerAlgoForTracker::dzRes_rangeMin
double dzRes_rangeMin
Definition: MTVHistoProducerAlgoForTracker.h:356
MTVHistoProducerAlgoForTracker::minEta
double minEta
Definition: MTVHistoProducerAlgoForTracker.h:302
PVValHelper::eta
Definition: PVValidationHelpers.h:69
MTVHistoProducerAlgoForTracker::minZpos
double minZpos
Definition: MTVHistoProducerAlgoForTracker.h:325
MTVHistoProducerAlgoForTracker::phiRes_nbin
int phiRes_nbin
Definition: MTVHistoProducerAlgoForTracker.h:351
reco::DeDxData::numberOfMeasurements
unsigned int numberOfMeasurements() const
Definition: DeDxData.cc:18
mathSSE::sqrt
T sqrt(T t)
Definition: SSEVec.h:19
MTVHistoProducerAlgoForTracker::minVertpos
double minVertpos
Definition: MTVHistoProducerAlgoForTracker.h:322
MTVHistoProducerAlgoForTracker::nintLayers
int nintLayers
Definition: MTVHistoProducerAlgoForTracker.h:314
reco::DeDxData::numberOfSaturatedMeasurements
int numberOfSaturatedMeasurements() const
Definition: DeDxData.cc:20
TrackerDetSide
TrackerDetSide
Definition: TrackerDetSide.h:4
dqm::implementation::IBooker::bookProfile
MonitorElement * bookProfile(TString const &name, TString const &title, int nchX, double lowX, double highX, int, double lowY, double highY, char const *option="s", FUNC onbooking=NOOP())
Definition: DQMStore.h:322
MTVHistoProducerAlgoForTracker::maxZpos
double maxZpos
Definition: MTVHistoProducerAlgoForTracker.h:325
MTVHistoProducerAlgoForTracker::nintDz
int nintDz
Definition: MTVHistoProducerAlgoForTracker.h:320
SeedingLayerSetsBuilder::SeedingLayerId
std::tuple< GeomDetEnumerators::SubDetector, TrackerDetSide, int > SeedingLayerId
Definition: SeedingLayerSetsBuilder.h:33
submitPVResolutionJobs.count
count
Definition: submitPVResolutionJobs.py:352
MTVHistoProducerAlgoForTracker::nintDxy
int nintDxy
Definition: MTVHistoProducerAlgoForTracker.h:318
StripSubdetector::TIB
static constexpr auto TIB
Definition: StripSubdetector.h:16
MTVHistoProducerAlgoForTracker::minPhi
double minPhi
Definition: MTVHistoProducerAlgoForTracker.h:315
nhits
Definition: HIMultiTrackSelector.h:42
cmsswSequenceInfo.tp
tp
Definition: cmsswSequenceInfo.py:17
DetId::subdetId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum)
Definition: DetId.h:48
MTVHistoProducerAlgoForTracker::minVertcount
double minVertcount
Definition: MTVHistoProducerAlgoForTracker.h:335
MTVHistoProducerAlgoForTracker::maxPVz
double maxPVz
Definition: MTVHistoProducerAlgoForTracker.h:339
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
MTVHistoProducerAlgoForTracker::nintVertpos
int nintVertpos
Definition: MTVHistoProducerAlgoForTracker.h:323
edm::ParameterSet::eraseSimpleParameter
void eraseSimpleParameter(std::string const &name)
Definition: ParameterSet.cc:131
trackFromSeedFitFailed
bool trackFromSeedFitFailed(const reco::Track &track)
Definition: trackFromSeedFitFailed.h:6
trackerHitRTTI::isMatched
bool isMatched(TrackingRecHit const &hit)
Definition: trackerHitRTTI.h:33
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
MTVHistoProducerAlgoForTracker::minPVz
double minPVz
Definition: MTVHistoProducerAlgoForTracker.h:339
edm::ParameterSet
Definition: ParameterSet.h:47
reco::modules
Definition: IMASelector.h:46
DetId::Tracker
Definition: DetId.h:25
MTVHistoProducerAlgoForTracker::phiRes_rangeMax
double phiRes_rangeMax
Definition: MTVHistoProducerAlgoForTracker.h:350
MTVHistoProducerAlgoForTracker::minLayers
double minLayers
Definition: MTVHistoProducerAlgoForTracker.h:313
MTVHistoProducerAlgoForTracker::doMTDPlots_
const bool doMTDPlots_
Definition: MTVHistoProducerAlgoForTracker.h:345
MTVHistoProducerAlgoForTracker::doSeedPlots_
const bool doSeedPlots_
Definition: MTVHistoProducerAlgoForTracker.h:344
MultiTrackValidator_cfi.doSeedPlots
doSeedPlots
Definition: MultiTrackValidator_cfi.py:97
MTVHistoProducerAlgoForTracker::SeedingLayerSetId
std::array< SeedingLayerId, 4 > SeedingLayerSetId
Definition: MTVHistoProducerAlgoForTracker.h:367
MTVHistoProducerAlgoForTracker::trackSelectorVsPt
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPt
Definition: MTVHistoProducerAlgoForTracker.h:293
MTVHistoProducerAlgoForTracker::SeedingLayerId
std::tuple< SeedingLayerSetsBuilder::SeedingLayerId, bool > SeedingLayerId
Definition: MTVHistoProducerAlgoForTracker.h:366
GeomDetEnumerators::TEC
Definition: GeomDetEnumerators.h:16
MTVHistoProducerAlgoForTracker::minMVA
double minMVA
Definition: MTVHistoProducerAlgoForTracker.h:341
MTVHistoProducerAlgoForTracker::nintPhi
int nintPhi
Definition: MTVHistoProducerAlgoForTracker.h:316
MTVHistoProducerAlgoForTracker::maxVertcount
double maxVertcount
Definition: MTVHistoProducerAlgoForTracker.h:335
MTVHistoProducerAlgoForTracker::maxDz
double maxDz
Definition: MTVHistoProducerAlgoForTracker.h:319
edm::ParameterSet::addParameter
void addParameter(std::string const &name, T const &value)
Definition: ParameterSet.h:135
funct::tan
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
MTVHistoProducerAlgoForTracker::maxVertpos
double maxVertpos
Definition: MTVHistoProducerAlgoForTracker.h:322
createfilelist.int
int
Definition: createfilelist.py:10
MTVHistoProducerAlgoForTracker::maxDxy
double maxDxy
Definition: MTVHistoProducerAlgoForTracker.h:317
MTVHistoProducerAlgoForTracker::nintdrj
int nintdrj
Definition: MTVHistoProducerAlgoForTracker.h:330
MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXZ
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXZ
Definition: MTVHistoProducerAlgoForTracker.h:289
M_PI
#define M_PI
Definition: BXVectorInputProducer.cc:49
HcalObjRepresent::setBinLabels
void setBinLabels(std::vector< TH2F > &depth)
Definition: HcalObjRepresent.h:548
MTVHistoProducerAlgoForTracker::maxDzpvCum
double maxDzpvCum
Definition: MTVHistoProducerAlgoForTracker.h:359
histograms
Definition: histograms.py:1
MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMin
double cotThetaRes_rangeMin
Definition: MTVHistoProducerAlgoForTracker.h:352
MTVHistoProducerAlgoForTracker::nintdr
int nintdr
Definition: MTVHistoProducerAlgoForTracker.h:328
MTVHistoProducerAlgoForTracker::useLogVertpos
bool useLogVertpos
Definition: MTVHistoProducerAlgoForTracker.h:324
SeedingLayerSetsBuilder::nameToEnumId
static SeedingLayerId nameToEnumId(const std::string &name)
Definition: SeedingLayerSetsBuilder.cc:32
MTVHistoProducerAlgoForTracker::getRecoMomentum
void getRecoMomentum(const reco::Track &track, double &pt, double &ptError, double &qoverp, double &qoverpError, double &lambda, double &lambdaError, double &phi, double &phiError) const
retrieval of reconstructed momentum components from reco::Track (== mean values for GSF)
Definition: MTVHistoProducerAlgoForTracker.cc:2543
MTVHistoProducerAlgoForTracker::minDeDx
double minDeDx
Definition: MTVHistoProducerAlgoForTracker.h:333
MTVHistoProducerAlgoForTracker::nintHit
int nintHit
Definition: MTVHistoProducerAlgoForTracker.h:310
DDAxes::phi
MTVHistoProducerAlgoForTracker::mindrj
double mindrj
Definition: MTVHistoProducerAlgoForTracker.h:329
MTVHistoProducerAlgoForTracker::getEta
double getEta(double eta) const
Definition: MTVHistoProducerAlgoForTracker.cc:2583
MTVHistoProducerAlgoForTracker::minTracks
double minTracks
Definition: MTVHistoProducerAlgoForTracker.h:337
DetId::rawId
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
MTVHistoProducerAlgoForTracker::ptRes_rangeMin
double ptRes_rangeMin
Definition: MTVHistoProducerAlgoForTracker.h:348
StripSubdetector::TEC
static constexpr auto TEC
Definition: StripSubdetector.h:19
MTVHistoProducerAlgoForTracker::getPt
double getPt(double pt) const
Definition: MTVHistoProducerAlgoForTracker.cc:2590
reco::DeDxData::dEdx
float dEdx() const
Definition: DeDxData.cc:11
PVValHelper::dxy
Definition: PVValidationHelpers.h:47
MTVHistoProducerAlgoForTracker::dxyDzZoom
double dxyDzZoom
Definition: MTVHistoProducerAlgoForTracker.h:321
MTVHistoProducerAlgoForTracker::nintZpos
int nintZpos
Definition: MTVHistoProducerAlgoForTracker.h:326
reco::TrackBase::algoSize
Definition: TrackBase.h:141
PVValHelper::dz
Definition: PVValidationHelpers.h:50
edm::ValueMap
Definition: ValueMap.h:107
relativeConstraints.value
value
Definition: relativeConstraints.py:53
dqm::implementation::IBooker::book2D
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
Definition: DQMStore.h:177
Exception
Definition: hltDiff.cc:246
reco::HitPattern::MISSING_INNER_HITS
Definition: HitPattern.h:155
MTVHistoProducerAlgoForTracker::nintPu
int nintPu
Definition: MTVHistoProducerAlgoForTracker.h:312
MTVHistoProducerAlgoForTracker::nintDzpvsigCum
int nintDzpvsigCum
Definition: MTVHistoProducerAlgoForTracker.h:362
MTVHistoProducerAlgoForTracker::seedingLayerSetNames
std::vector< std::string > seedingLayerSetNames
Definition: MTVHistoProducerAlgoForTracker.h:364
MTVHistoProducerAlgoForTracker::generalTpSelector
std::unique_ptr< TrackingParticleSelector > generalTpSelector
Definition: MTVHistoProducerAlgoForTracker.h:284
StripSubdetector::TOB
static constexpr auto TOB
Definition: StripSubdetector.h:18
SeedingLayerSetsBuilder::layerNamesInSets
static std::vector< std::vector< std::string > > layerNamesInSets(const std::vector< std::string > &namesPSet)
Definition: SeedingLayerSetsBuilder.cc:275
TrajectorySeed
Definition: TrajectorySeed.h:18
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
GeomDetEnumerators::PixelEndcap
Definition: GeomDetEnumerators.h:12
MTVHistoProducerAlgoForTracker::nintChi2
int nintChi2
Definition: MTVHistoProducerAlgoForTracker.h:332
MTVHistoProducerAlgoForTracker::ptRes_rangeMax
double ptRes_rangeMax
Definition: MTVHistoProducerAlgoForTracker.h:348
MTVHistoProducerAlgoForTracker::nintMVA
int nintMVA
Definition: MTVHistoProducerAlgoForTracker.h:342
minChi2
Definition: JetCombinatorics.h:265
MTVHistoProducerAlgoForTracker::nintPVz
int nintPVz
Definition: MTVHistoProducerAlgoForTracker.h:340
MTVHistoProducerAlgoForTracker::ptRes_nbin
int ptRes_nbin
Definition: MTVHistoProducerAlgoForTracker.h:349
MTVHistoProducerAlgoForTracker::maxdrj
double maxdrj
Definition: MTVHistoProducerAlgoForTracker.h:329
reco::DeDxData
Definition: DeDxData.h:8
funct::abs
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
reco::GsfTrack::ptModeError
double ptModeError() const
error on Pt (set to 1000 TeV if charge==0 for safety) from mode
Definition: GsfTrack.h:81
LogTrace
#define LogTrace(id)
Definition: MessageLogger.h:224
HGC3DClusterGenMatchSelector_cfi.dR
dR
Definition: HGC3DClusterGenMatchSelector_cfi.py:7
MTVHistoProducerAlgoForTracker::dzRes_rangeMax
double dzRes_rangeMax
Definition: MTVHistoProducerAlgoForTracker.h:356
MTVHistoProducerAlgoForTracker::nintVertcount
int nintVertcount
Definition: MTVHistoProducerAlgoForTracker.h:336
EgammaValidation_Wenu_cff.sel
sel
Definition: EgammaValidation_Wenu_cff.py:33
MTVHistoProducerAlgoForTracker::maxPu
double maxPu
Definition: MTVHistoProducerAlgoForTracker.h:311
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
MTVHistoProducerAlgoForTracker::dxyRes_nbin
int dxyRes_nbin
Definition: MTVHistoProducerAlgoForTracker.h:355
MTVHistoProducerAlgoForTracker::cotThetaRes_nbin
int cotThetaRes_nbin
Definition: MTVHistoProducerAlgoForTracker.h:353
MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXR
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXR
Definition: MTVHistoProducerAlgoForTracker.h:299
reco::TrackBase::algoNames
static const std::string algoNames[]
Definition: TrackBase.h:147
MTVHistoProducerAlgoForTracker::makeRecoTrackSelectorFromTPSelectorParameters
static std::unique_ptr< RecoTrackSelectorBase > makeRecoTrackSelectorFromTPSelectorParameters(const edm::ParameterSet &pset)
Definition: MTVHistoProducerAlgoForTracker.cc:371
MTVHistoProducerAlgoForTracker::dzRes_nbin
int dzRes_nbin
Definition: MTVHistoProducerAlgoForTracker.h:357
GeomDetEnumerators::isTrackerStrip
bool isTrackerStrip(GeomDetEnumerators::SubDetector m)
Definition: GeomDetEnumerators.cc:64
MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMax
double cotThetaRes_rangeMax
Definition: MTVHistoProducerAlgoForTracker.h:352
MTVHistoProducerAlgoForTracker::maxDzpvsigCum
double maxDzpvsigCum
Definition: MTVHistoProducerAlgoForTracker.h:361
StripSubdetector::TID
static constexpr auto TID
Definition: StripSubdetector.h:17
reco::modules::ParameterAdapter
Definition: ParameterAdapter.h:12
MTVHistoProducerAlgoForTracker::dxyRes_rangeMin
double dxyRes_rangeMin
Definition: MTVHistoProducerAlgoForTracker.h:354
muonDTDigis_cfi.pset
pset
Definition: muonDTDigis_cfi.py:27
reco::GsfTrack::qoverpModeError
double qoverpModeError() const
error on signed transverse curvature from mode
Definition: GsfTrack.h:79
dqm::implementation::IBooker::book1D
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
Definition: DQMStore.h:98
MTVHistoProducerAlgoForTracker::seedingLayerSetToBin
std::map< SeedingLayerSetId, unsigned int > seedingLayerSetToBin
Definition: MTVHistoProducerAlgoForTracker.h:368
muonME0PseudoDigis_cfi.phiError
phiError
Definition: muonME0PseudoDigis_cfi.py:9
MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPhi
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPhi
Definition: MTVHistoProducerAlgoForTracker.h:286
findQualityFiles.size
size
Write out results.
Definition: findQualityFiles.py:443
nlayers
Definition: HIMultiTrackSelector.h:48
MTVHistoProducerAlgoForTracker::maxPhi
double maxPhi
Definition: MTVHistoProducerAlgoForTracker.h:315
TrackingParticleIP::dz
auto dz(const T_Vertex &vertex, const T_Momentum &momentum, const T_Point &point)
Definition: TrackingParticleIP.h:16