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 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_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_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::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...
 
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...
 
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 143 of file MTVHistoProducerAlgoForTracker.h.

Member Typedef Documentation

Definition at line 145 of file MTVHistoProducerAlgoForTracker.h.

Definition at line 153 of file MTVHistoProducerAlgoForTracker.h.

Definition at line 364 of file MTVHistoProducerAlgoForTracker.h.

Definition at line 365 of file MTVHistoProducerAlgoForTracker.h.

Constructor & Destructor Documentation

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

Definition at line 140 of file MTVHistoProducerAlgoForTracker.cc.

References cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, dxyDzZoom, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, Exception, generalGpSelector, generalTpSelector, edm::ParameterSet::getParameter(), edm::ParameterSet::getUntrackedParameter(), GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, mps_fire::i, GeomDetEnumerators::isTrackerStrip(), dqmiolumiharvest::j, SeedingLayerSetsBuilder::layerNamesInSets(), reco::modules::make(), 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, 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.

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

Definition at line 368 of file MTVHistoProducerAlgoForTracker.cc.

368 {}

Member Function Documentation

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

Definition at line 1558 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_eta_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_pt_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mvacut_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_mvacut_hp, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_eta_hp, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_pt_hp, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mva, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mva_hp, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mvacut_hp, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_mvacut_hp, mps_fire::i, maxEta, maxMVA, maxPt, minEta, minMVA, minPt, nintEta, nintMVA, nintPt, AlCaHLTBitMon_QueryRunRegistry::string, and useLogPt.

1558  {
1559  histograms.h_reco_mva.emplace_back();
1560  histograms.h_assoc2_mva.emplace_back();
1561 
1562  histograms.h_reco_mvacut.emplace_back();
1563  histograms.h_assoc_mvacut.emplace_back();
1564  histograms.h_assoc2_mvacut.emplace_back();
1565  histograms.h_simul2_mvacut.emplace_back();
1566 
1567  histograms.h_reco_mva_hp.emplace_back();
1568  histograms.h_assoc2_mva_hp.emplace_back();
1569 
1570  histograms.h_reco_mvacut_hp.emplace_back();
1571  histograms.h_assoc_mvacut_hp.emplace_back();
1572  histograms.h_assoc2_mvacut_hp.emplace_back();
1573  histograms.h_simul2_mvacut_hp.emplace_back();
1574 
1575  histograms.h_assoc2_mva_vs_pt.emplace_back();
1576  histograms.h_fake_mva_vs_pt.emplace_back();
1577  histograms.h_assoc2_mva_vs_pt_hp.emplace_back();
1578  histograms.h_fake_mva_vs_pt_hp.emplace_back();
1579  histograms.h_assoc2_mva_vs_eta.emplace_back();
1580  histograms.h_fake_mva_vs_eta.emplace_back();
1581  histograms.h_assoc2_mva_vs_eta_hp.emplace_back();
1582  histograms.h_fake_mva_vs_eta_hp.emplace_back();
1583 
1584  for (size_t i = 1; i <= nMVAs; ++i) {
1585  auto istr = std::to_string(i);
1586  std::string pfix;
1587 
1588  if (i == 1) {
1589  histograms.h_reco_mva_hp.back().emplace_back();
1590  histograms.h_assoc2_mva_hp.back().emplace_back();
1591 
1592  histograms.h_reco_mvacut_hp.back().emplace_back();
1593  histograms.h_assoc_mvacut_hp.back().emplace_back();
1594  histograms.h_assoc2_mvacut_hp.back().emplace_back();
1595  histograms.h_simul2_mvacut_hp.back().emplace_back();
1596 
1597  histograms.h_assoc2_mva_vs_pt_hp.back().emplace_back();
1598  histograms.h_fake_mva_vs_pt_hp.back().emplace_back();
1599  histograms.h_assoc2_mva_vs_eta_hp.back().emplace_back();
1600  histograms.h_fake_mva_vs_eta_hp.back().emplace_back();
1601  } else {
1602  pfix = " (not loose-selected)";
1603  std::string pfix2 = " (not HP-selected)";
1604 
1605  histograms.h_reco_mva_hp.back().push_back(ibook.book1D(
1606  "num_reco_mva" + istr + "_hp", "N of reco track after vs MVA" + istr + pfix2, nintMVA, minMVA, maxMVA));
1607  histograms.h_assoc2_mva_hp.back().push_back(
1608  ibook.book1D("num_assoc(recoToSim)_mva" + istr + "_hp",
1609  "N of associated tracks (recoToSim) vs MVA" + istr + pfix2,
1610  nintMVA,
1611  minMVA,
1612  maxMVA));
1613 
1614  histograms.h_reco_mvacut_hp.back().push_back(ibook.book1D("num_reco_mva" + istr + "cut" + "_hp",
1615  "N of reco track vs cut on MVA" + istr + pfix2,
1616  nintMVA,
1617  minMVA,
1618  maxMVA));
1619  histograms.h_assoc_mvacut_hp.back().push_back(
1620  ibook.book1D("num_assoc(simToReco)_mva" + istr + "cut_hp",
1621  "N of associated tracks (simToReco) vs cut on MVA" + istr + pfix2,
1622  nintMVA,
1623  minMVA,
1624  maxMVA));
1625  histograms.h_assoc2_mvacut_hp.back().push_back(
1626  ibook.book1D("num_assoc(recoToSim)_mva" + istr + "cut_hp",
1627  "N of associated tracks (recoToSim) vs cut on MVA" + istr + pfix2,
1628  nintMVA,
1629  minMVA,
1630  maxMVA));
1631  histograms.h_simul2_mvacut_hp.back().push_back(
1632  ibook.book1D("num_simul2_mva" + istr + "cut_hp",
1633  "N of simulated tracks (associated to any track) vs cut on MVA" + istr + pfix2,
1634  nintMVA,
1635  minMVA,
1636  maxMVA));
1637 
1638  histograms.h_assoc2_mva_vs_pt_hp.back().push_back(
1639  makeProfileIfLogX(ibook,
1640  useLogPt,
1641  ("mva_assoc(recoToSim)_mva" + istr + "_pT_hp").c_str(),
1642  ("MVA" + istr + " of associated tracks (recoToSim) vs. track p_{T}" + pfix2).c_str(),
1643  nintPt,
1644  minPt,
1645  maxPt,
1646  minMVA,
1647  maxMVA));
1648  histograms.h_fake_mva_vs_pt_hp.back().push_back(
1649  makeProfileIfLogX(ibook,
1650  useLogPt,
1651  ("mva_fake_mva" + istr + "pT_hp").c_str(),
1652  ("MVA" + istr + " of non-associated tracks (recoToSim) vs. track p_{T}" + pfix2).c_str(),
1653  nintPt,
1654  minPt,
1655  maxPt,
1656  minMVA,
1657  maxMVA));
1658  histograms.h_assoc2_mva_vs_eta_hp.back().push_back(
1659  ibook.bookProfile("mva_assoc(recoToSim)_mva" + istr + "_eta_hp",
1660  "MVA" + istr + " of associated tracks (recoToSim) vs. track #eta" + pfix2,
1661  nintEta,
1662  minEta,
1663  maxEta,
1664  nintMVA,
1665  minMVA,
1666  maxMVA));
1667  histograms.h_fake_mva_vs_eta_hp.back().push_back(
1668  ibook.bookProfile("mva_fake_mva" + istr + "eta_hp",
1669  "MVA" + istr + " of non-associated tracks (recoToSim) vs. track #eta" + pfix2,
1670  nintEta,
1671  minEta,
1672  maxEta,
1673  nintMVA,
1674  minMVA,
1675  maxMVA));
1676  }
1677 
1678  histograms.h_reco_mva.back().push_back(
1679  ibook.book1D("num_reco_mva" + istr, "N of reco track vs MVA" + istr + pfix, nintMVA, minMVA, maxMVA));
1680  histograms.h_assoc2_mva.back().push_back(ibook.book1D("num_assoc(recoToSim)_mva" + istr,
1681  "N of associated tracks (recoToSim) vs MVA" + istr + pfix,
1682  nintMVA,
1683  minMVA,
1684  maxMVA));
1685 
1686  histograms.h_reco_mvacut.back().push_back(ibook.book1D(
1687  "num_reco_mva" + istr + "cut", "N of reco track vs cut on MVA" + istr + pfix, nintMVA, minMVA, maxMVA));
1688  histograms.h_assoc_mvacut.back().push_back(
1689  ibook.book1D("num_assoc(simToReco)_mva" + istr + "cut",
1690  "N of associated tracks (simToReco) vs cut on MVA" + istr + pfix,
1691  nintMVA,
1692  minMVA,
1693  maxMVA));
1694  histograms.h_assoc2_mvacut.back().push_back(
1695  ibook.book1D("num_assoc(recoToSim)_mva" + istr + "cut",
1696  "N of associated tracks (recoToSim) vs cut on MVA" + istr + pfix,
1697  nintMVA,
1698  minMVA,
1699  maxMVA));
1700  histograms.h_simul2_mvacut.back().push_back(
1701  ibook.book1D("num_simul2_mva" + istr + "cut",
1702  "N of simulated tracks (associated to any track) vs cut on MVA" + istr + pfix,
1703  nintMVA,
1704  minMVA,
1705  maxMVA));
1706 
1707  histograms.h_assoc2_mva_vs_pt.back().push_back(
1708  makeProfileIfLogX(ibook,
1709  useLogPt,
1710  ("mva_assoc(recoToSim)_mva" + istr + "_pT").c_str(),
1711  ("MVA" + istr + " of associated tracks (recoToSim) vs. track p_{T}" + pfix).c_str(),
1712  nintPt,
1713  minPt,
1714  maxPt,
1715  minMVA,
1716  maxMVA));
1717  histograms.h_fake_mva_vs_pt.back().push_back(
1718  makeProfileIfLogX(ibook,
1719  useLogPt,
1720  ("mva_fake_mva" + istr + "_pT").c_str(),
1721  ("MVA" + istr + " of non-associated tracks (recoToSim) vs. track p_{T}" + pfix).c_str(),
1722  nintPt,
1723  minPt,
1724  maxPt,
1725  minMVA,
1726  maxMVA));
1727  histograms.h_assoc2_mva_vs_eta.back().push_back(
1728  ibook.bookProfile("mva_assoc(recoToSim)_mva" + istr + "_eta",
1729  "MVA" + istr + " of associated tracks (recoToSim) vs. track #eta" + pfix,
1730  nintEta,
1731  minEta,
1732  maxEta,
1733  nintMVA,
1734  minMVA,
1735  maxMVA));
1736  histograms.h_fake_mva_vs_eta.back().push_back(
1737  ibook.bookProfile("mva_fake_mva" + istr + "_eta",
1738  "MVA" + istr + " of non-associated tracks (recoToSim) vs. track #eta" + pfix,
1739  nintEta,
1740  minEta,
1741  maxEta,
1742  nintMVA,
1743  minMVA,
1744  maxMVA));
1745  }
1746 }
void MTVHistoProducerAlgoForTracker::bookRecodEdxHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 1530 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), MTVHistoProducerAlgoForTrackerHistograms::h_dedx_estim, MTVHistoProducerAlgoForTrackerHistograms::h_dedx_nom, MTVHistoProducerAlgoForTrackerHistograms::h_dedx_sat, maxDeDx, maxHit, minDeDx, minHit, nintDeDx, and nintHit.

1530  {
1531  // dE/dx stuff
1532  histograms.h_dedx_estim.emplace_back();
1533  histograms.h_dedx_estim.back().push_back(
1534  ibook.book1D("h_dedx_estim1", "dE/dx estimator 1", nintDeDx, minDeDx, maxDeDx));
1535  histograms.h_dedx_estim.back().push_back(
1536  ibook.book1D("h_dedx_estim2", "dE/dx estimator 2", nintDeDx, minDeDx, maxDeDx));
1537 
1538  histograms.h_dedx_nom.emplace_back();
1539  histograms.h_dedx_nom.back().push_back(
1540  ibook.book1D("h_dedx_nom1", "dE/dx number of measurements", nintHit, minHit, maxHit));
1541  histograms.h_dedx_nom.back().push_back(
1542  ibook.book1D("h_dedx_nom2", "dE/dx number of measurements", nintHit, minHit, maxHit));
1543 
1544  histograms.h_dedx_sat.emplace_back();
1545  histograms.h_dedx_sat.back().push_back(
1546  ibook.book1D("h_dedx_sat1", "dE/dx number of measurements with saturation", nintHit, minHit, maxHit));
1547  histograms.h_dedx_sat.back().push_back(
1548  ibook.book1D("h_dedx_sat2", "dE/dx number of measurements with saturation", nintHit, minHit, maxHit));
1549 }
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 635 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::algoNames, MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2prob_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2prob_vs_pt, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile(), dqm::dqmstoreimpl::DQMStore::IBooker::bookProfile2D(), MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_nhits, MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_pt, cotThetaRes_nbin, cotThetaRes_rangeMax, cotThetaRes_rangeMin, MTVHistoProducerAlgoForTrackerHistograms::cotThetares_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::cotThetares_vs_pt, doMTDPlots_, doSeedPlots_, MTVHistoProducerAlgoForTrackerHistograms::dxypull_vs_eta, dxyRes_nbin, dxyRes_rangeMax, dxyRes_rangeMin, MTVHistoProducerAlgoForTrackerHistograms::dxyres_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::dxyres_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::dzpull_vs_eta, dzRes_nbin, dzRes_rangeMax, dzRes_rangeMin, MTVHistoProducerAlgoForTrackerHistograms::dzres_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::dzres_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::etares_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::h_algo, MTVHistoProducerAlgoForTrackerHistograms::h_assoc23Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2chi2, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2chi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dr, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2drj, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dxy, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dz, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2eta, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2hit, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2layer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2phi, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pT, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pu, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2vertpos, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2zpos, MTVHistoProducerAlgoForTrackerHistograms::h_assocFraction, MTVHistoProducerAlgoForTrackerHistograms::h_assocSharedHit, MTVHistoProducerAlgoForTrackerHistograms::h_charge, MTVHistoProducerAlgoForTrackerHistograms::h_eta, MTVHistoProducerAlgoForTrackerHistograms::h_fakes, MTVHistoProducerAlgoForTrackerHistograms::h_hits, MTVHistoProducerAlgoForTrackerHistograms::h_looper3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_looper_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_looper_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_looperchi2, MTVHistoProducerAlgoForTrackerHistograms::h_looperchi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_looperdr, MTVHistoProducerAlgoForTrackerHistograms::h_looperdrj, MTVHistoProducerAlgoForTrackerHistograms::h_looperdxy, MTVHistoProducerAlgoForTrackerHistograms::h_looperdz, MTVHistoProducerAlgoForTrackerHistograms::h_loopereta, MTVHistoProducerAlgoForTrackerHistograms::h_looperhit, MTVHistoProducerAlgoForTrackerHistograms::h_looperlayer, MTVHistoProducerAlgoForTrackerHistograms::h_looperphi, MTVHistoProducerAlgoForTrackerHistograms::h_looperpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_looperpT, MTVHistoProducerAlgoForTrackerHistograms::h_looperpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_looperpu, MTVHistoProducerAlgoForTrackerHistograms::h_loopervertpos, MTVHistoProducerAlgoForTrackerHistograms::h_looperzpos, MTVHistoProducerAlgoForTrackerHistograms::h_losthits, MTVHistoProducerAlgoForTrackerHistograms::h_misid3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_misidchi2, MTVHistoProducerAlgoForTrackerHistograms::h_misidchi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_misiddxy, MTVHistoProducerAlgoForTrackerHistograms::h_misiddz, MTVHistoProducerAlgoForTrackerHistograms::h_misideta, MTVHistoProducerAlgoForTrackerHistograms::h_misidhit, MTVHistoProducerAlgoForTrackerHistograms::h_misidlayer, MTVHistoProducerAlgoForTrackerHistograms::h_misidphi, MTVHistoProducerAlgoForTrackerHistograms::h_misidpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_misidpT, MTVHistoProducerAlgoForTrackerHistograms::h_misidpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_misidpu, MTVHistoProducerAlgoForTrackerHistograms::h_nchi2, MTVHistoProducerAlgoForTrackerHistograms::h_nchi2_prob, MTVHistoProducerAlgoForTrackerHistograms::h_nmisslayers_inner, MTVHistoProducerAlgoForTrackerHistograms::h_nmisslayers_outer, MTVHistoProducerAlgoForTrackerHistograms::h_pileup3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_pileupchi2, MTVHistoProducerAlgoForTrackerHistograms::h_pileupchi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdr, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdrj, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdxy, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdz, MTVHistoProducerAlgoForTrackerHistograms::h_pileupeta, MTVHistoProducerAlgoForTrackerHistograms::h_pileuphit, MTVHistoProducerAlgoForTrackerHistograms::h_pileuplayer, MTVHistoProducerAlgoForTrackerHistograms::h_pileupphi, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppT, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppu, MTVHistoProducerAlgoForTrackerHistograms::h_pileupvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_pileupzpos, MTVHistoProducerAlgoForTrackerHistograms::h_pt, MTVHistoProducerAlgoForTrackerHistograms::h_pullDxy, MTVHistoProducerAlgoForTrackerHistograms::h_pullDz, MTVHistoProducerAlgoForTrackerHistograms::h_pullPhi, MTVHistoProducerAlgoForTrackerHistograms::h_pullQoverp, MTVHistoProducerAlgoForTrackerHistograms::h_pullTheta, MTVHistoProducerAlgoForTrackerHistograms::h_reco2eta, MTVHistoProducerAlgoForTrackerHistograms::h_reco2pT, MTVHistoProducerAlgoForTrackerHistograms::h_reco2pTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_reco2pu, MTVHistoProducerAlgoForTrackerHistograms::h_reco3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_reco_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_reco_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_recochi2, MTVHistoProducerAlgoForTrackerHistograms::h_recochi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_recodr, MTVHistoProducerAlgoForTrackerHistograms::h_recodrj, MTVHistoProducerAlgoForTrackerHistograms::h_recodxy, MTVHistoProducerAlgoForTrackerHistograms::h_recodz, MTVHistoProducerAlgoForTrackerHistograms::h_recoeta, MTVHistoProducerAlgoForTrackerHistograms::h_recohit, MTVHistoProducerAlgoForTrackerHistograms::h_recolayer, MTVHistoProducerAlgoForTrackerHistograms::h_recophi, MTVHistoProducerAlgoForTrackerHistograms::h_recopixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_recopT, MTVHistoProducerAlgoForTrackerHistograms::h_recopTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_recopu, MTVHistoProducerAlgoForTrackerHistograms::h_recovertpos, MTVHistoProducerAlgoForTrackerHistograms::h_recozpos, MTVHistoProducerAlgoForTrackerHistograms::h_tracks, 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, MTVHistoProducerAlgoForTrackerHistograms::nBTLhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nETLhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nhits_vs_phi, nintChi2, nintdr, nintdrj, nintDxy, nintDz, nintEta, nintHit, nintLayers, nintPhi, nintPt, nintPu, nintPVz, nintTracks, nintVertpos, nintZpos, MTVHistoProducerAlgoForTrackerHistograms::nLayersWithMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nlosthits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nMTDhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nPXBhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nPXFhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nPXLhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nPXLlayersWithMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nrec_vs_nsim, MTVHistoProducerAlgoForTrackerHistograms::nrecHit_vs_nsimHit_rec2sim, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPlayersWith1dMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPlayersWith2dMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPlayersWithMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTEChits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTIBhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTIDhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTOBhits_vs_eta, CalibrationSummaryClient_cfi::params, MTVHistoProducerAlgoForTrackerHistograms::phimean_vs_eta_phi, MTVHistoProducerAlgoForTrackerHistograms::phipull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::phipull_vs_phi, phiRes_nbin, phiRes_rangeMax, phiRes_rangeMin, MTVHistoProducerAlgoForTrackerHistograms::phires_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::phires_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::phires_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::ptmean_vs_eta_phi, MTVHistoProducerAlgoForTrackerHistograms::ptpull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::ptpull_vs_phi, ptRes_nbin, ptRes_rangeMax, ptRes_rangeMin, MTVHistoProducerAlgoForTrackerHistograms::ptres_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::ptres_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::ptres_vs_pt, seedingLayerSetNames, HcalObjRepresent::setBinLabels(), findQualityFiles::size, MTVHistoProducerAlgoForTrackerHistograms::thetapull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::thetapull_vs_phi, useLogPt, and useLogVertpos.

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

Definition at line 1397 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), doSeedPlots_, dxyDzZoom, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dxypv, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dzpv, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_looperdxypv, MTVHistoProducerAlgoForTrackerHistograms::h_looperdxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_looperdzpv, MTVHistoProducerAlgoForTrackerHistograms::h_looperdzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_misiddxypv, MTVHistoProducerAlgoForTrackerHistograms::h_misiddxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_misiddzpv, MTVHistoProducerAlgoForTrackerHistograms::h_misiddzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdxypv, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdzpv, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_recodxypv, MTVHistoProducerAlgoForTrackerHistograms::h_recodxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_recodzpv, MTVHistoProducerAlgoForTrackerHistograms::h_recodzpvzoomed, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, minDxy, minDz, nintDxy, nintDz, nintDzpvCum, and nintDzpvsigCum.

1397  {
1398  histograms.h_recodxypv.push_back(
1399  ibook.book1D("num_reco_dxypv", "N of reco track vs dxy(PV)", nintDxy, minDxy, maxDxy));
1400  histograms.h_assoc2dxypv.push_back(ibook.book1D(
1401  "num_assoc(recoToSim)_dxypv", "N of associated (recoToSim) tracks vs dxy(PV)", nintDxy, minDxy, maxDxy));
1402  histograms.h_looperdxypv.push_back(ibook.book1D(
1403  "num_duplicate_dxypv", "N of associated (recoToSim) looper tracks vs dxy(PV)", nintDxy, minDxy, maxDxy));
1404  if (!doSeedPlots_)
1405  histograms.h_misiddxypv.push_back(ibook.book1D("num_chargemisid_dxypv",
1406  "N of associated (recoToSim) charge misIDed tracks vs dxy(PV)",
1407  nintDxy,
1408  minDxy,
1409  maxDxy));
1410  histograms.h_pileupdxypv.push_back(ibook.book1D(
1411  "num_pileup_dxypv", "N of associated (recoToSim) pileup tracks vs dxy(PV)", nintDxy, minDxy, maxDxy));
1412 
1413  histograms.h_recodzpv.push_back(ibook.book1D("num_reco_dzpv", "N of reco track vs dz(PV)", nintDz, minDz, maxDz));
1414  histograms.h_assoc2dzpv.push_back(
1415  ibook.book1D("num_assoc(recoToSim)_dzpv", "N of associated (recoToSim) tracks vs dz(PV)", nintDz, minDz, maxDz));
1416  histograms.h_looperdzpv.push_back(
1417  ibook.book1D("num_duplicate_dzpv", "N of associated (recoToSim) looper tracks vs dz(PV)", nintDz, minDz, maxDz));
1418  if (!doSeedPlots_)
1419  histograms.h_misiddzpv.push_back(ibook.book1D("num_chargemisid_versus_dzpv",
1420  "N of associated (recoToSim) charge misIDed tracks vs dz(PV)",
1421  nintDz,
1422  minDz,
1423  maxDz));
1424  histograms.h_pileupdzpv.push_back(
1425  ibook.book1D("num_pileup_dzpv", "N of associated (recoToSim) pileup tracks vs dz(PV)", nintDz, minDz, maxDz));
1426 
1427  histograms.h_recodxypvzoomed.push_back(ibook.book1D(
1428  "num_reco_dxypv_zoomed", "N of reco track vs dxy(PV)", nintDxy, minDxy / dxyDzZoom, maxDxy / dxyDzZoom));
1429  histograms.h_assoc2dxypvzoomed.push_back(ibook.book1D("num_assoc(recoToSim)_dxypv_zoomed",
1430  "N of associated (recoToSim) tracks vs dxy(PV)",
1431  nintDxy,
1432  minDxy / dxyDzZoom,
1433  maxDxy / dxyDzZoom));
1434  histograms.h_looperdxypvzoomed.push_back(ibook.book1D("num_duplicate_dxypv_zoomed",
1435  "N of associated (recoToSim) looper tracks vs dxy(PV)",
1436  nintDxy,
1437  minDxy / dxyDzZoom,
1438  maxDxy / dxyDzZoom));
1439  if (!doSeedPlots_)
1440  histograms.h_misiddxypvzoomed.push_back(ibook.book1D("num_chargemisid_dxypv_zoomed",
1441  "N of associated (recoToSim) charge misIDed tracks vs dxy(PV)",
1442  nintDxy,
1443  minDxy / dxyDzZoom,
1444  maxDxy / dxyDzZoom));
1445  histograms.h_pileupdxypvzoomed.push_back(ibook.book1D("num_pileup_dxypv_zoomed",
1446  "N of associated (recoToSim) pileup tracks vs dxy(PV)",
1447  nintDxy,
1448  minDxy / dxyDzZoom,
1449  maxDxy / dxyDzZoom));
1450 
1451  histograms.h_recodzpvzoomed.push_back(
1452  ibook.book1D("num_reco_dzpv_zoomed", "N of reco track vs dz(PV)", nintDz, minDz / dxyDzZoom, maxDz / dxyDzZoom));
1453  histograms.h_assoc2dzpvzoomed.push_back(ibook.book1D("num_assoc(recoToSim)_dzpv_zoomed",
1454  "N of associated (recoToSim) tracks vs dz(PV)",
1455  nintDz,
1456  minDz / dxyDzZoom,
1457  maxDz / dxyDzZoom));
1458  histograms.h_looperdzpvzoomed.push_back(ibook.book1D("num_duplicate_dzpv_zoomed",
1459  "N of associated (recoToSim) looper tracks vs dz(PV)",
1460  nintDz,
1461  minDz / dxyDzZoom,
1462  maxDz / dxyDzZoom));
1463  if (!doSeedPlots_)
1464  histograms.h_misiddzpvzoomed.push_back(ibook.book1D("num_chargemisid_versus_dzpv_zoomed",
1465  "N of associated (recoToSim) charge misIDed tracks vs dz(PV)",
1466  nintDz,
1467  minDz / dxyDzZoom,
1468  maxDz / dxyDzZoom));
1469  histograms.h_pileupdzpvzoomed.push_back(ibook.book1D("num_pileup_dzpv_zoomed",
1470  "N of associated (recoToSim) pileup tracks vs dz(PV)",
1471  nintDz,
1472  minDz / dxyDzZoom,
1473  maxDz / dxyDzZoom));
1474 
1475  histograms.h_reco_dzpvcut.push_back(
1476  ibook.book1D("num_reco_dzpvcut", "N of reco track vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1477  histograms.h_assoc2_dzpvcut.push_back(ibook.book1D(
1478  "num_assoc(recoToSim)_dzpvcut", "N of associated (recoToSim) tracks vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1479  histograms.h_pileup_dzpvcut.push_back(ibook.book1D(
1480  "num_pileup_dzpvcut", "N of associated (recoToSim) pileup tracks vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1481 
1482  histograms.h_reco_dzpvcut_pt.push_back(
1483  ibook.book1D("num_reco_dzpvcut_pt", "#sump_{T} of reco track vs dz(PV)", nintDzpvCum, 0, maxDzpvCum));
1484  histograms.h_assoc2_dzpvcut_pt.push_back(ibook.book1D("num_assoc(recoToSim)_dzpvcut_pt",
1485  "#sump_{T} of associated (recoToSim) tracks vs dz(PV)",
1486  nintDzpvCum,
1487  0,
1488  maxDzpvCum));
1489  histograms.h_pileup_dzpvcut_pt.push_back(ibook.book1D("num_pileup_dzpvcut_pt",
1490  "#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)",
1491  nintDzpvCum,
1492  0,
1493  maxDzpvCum));
1494  histograms.h_reco_dzpvcut_pt.back()->enableSumw2();
1495  histograms.h_assoc2_dzpvcut_pt.back()->enableSumw2();
1496  histograms.h_pileup_dzpvcut_pt.back()->enableSumw2();
1497 
1498  histograms.h_reco_dzpvsigcut.push_back(
1499  ibook.book1D("num_reco_dzpvsigcut", "N of reco track vs dz(PV)/dzError", nintDzpvsigCum, 0, maxDzpvsigCum));
1500  histograms.h_assoc2_dzpvsigcut.push_back(ibook.book1D("num_assoc(recoToSim)_dzpvsigcut",
1501  "N of associated (recoToSim) tracks vs dz(PV)/dzError",
1503  0,
1504  maxDzpvsigCum));
1505  histograms.h_pileup_dzpvsigcut.push_back(ibook.book1D("num_pileup_dzpvsigcut",
1506  "N of associated (recoToSim) pileup tracks vs dz(PV)/dzError",
1508  0,
1509  maxDzpvsigCum));
1510 
1511  histograms.h_reco_dzpvsigcut_pt.push_back(ibook.book1D(
1512  "num_reco_dzpvsigcut_pt", "#sump_{T} of reco track vs dz(PV)/dzError", nintDzpvsigCum, 0, maxDzpvsigCum));
1513  histograms.h_assoc2_dzpvsigcut_pt.push_back(
1514  ibook.book1D("num_assoc(recoToSim)_dzpvsigcut_pt",
1515  "#sump_{T} of associated (recoToSim) tracks vs dz(PV)/dzError",
1517  0,
1518  maxDzpvsigCum));
1519  histograms.h_pileup_dzpvsigcut_pt.push_back(
1520  ibook.book1D("num_pileup_dzpvsigcut_pt",
1521  "#sump_{T} of associated (recoToSim) pileup tracks vs dz(PV)/dzError",
1523  0,
1524  maxDzpvsigCum));
1525  histograms.h_reco_dzpvsigcut_pt.back()->enableSumw2();
1526  histograms.h_assoc2_dzpvsigcut_pt.back()->enableSumw2();
1527  histograms.h_pileup_dzpvsigcut_pt.back()->enableSumw2();
1528 }
void MTVHistoProducerAlgoForTracker::bookSeedHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 1551 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), MTVHistoProducerAlgoForTrackerHistograms::h_seedsFitFailed, MTVHistoProducerAlgoForTrackerHistograms::h_seedsFitFailedFraction, maxTracks, minTracks, and nintTracks.

1551  {
1552  histograms.h_seedsFitFailed.push_back(
1553  ibook.book1D("seeds_fitFailed", "Number of seeds for which the fit failed", nintTracks, minTracks, maxTracks));
1554  histograms.h_seedsFitFailedFraction.push_back(
1555  ibook.book1D("seeds_fitFailedFraction", "Fraction of seeds for which the fit failed", 100, 0, 1));
1556 }
void MTVHistoProducerAlgoForTracker::bookSimHistos ( DQMStore::IBooker ibook,
Histograms histograms 
)

Definition at line 394 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), MTVHistoProducerAlgoForTrackerHistograms::h_bunchxSIM, MTVHistoProducerAlgoForTrackerHistograms::h_etaSIM, MTVHistoProducerAlgoForTrackerHistograms::h_ptSIM, MTVHistoProducerAlgoForTrackerHistograms::h_tracksSIM, MTVHistoProducerAlgoForTrackerHistograms::h_vertposSIM, maxEta, maxPt, maxTracks, maxVertpos, minEta, minPt, minTracks, minVertpos, nintEta, nintPt, nintTracks, nintVertpos, and useLogPt.

394  {
395  histograms.h_ptSIM = make1DIfLogX(ibook, useLogPt, "ptSIM", "generated p_{t}", nintPt, minPt, maxPt);
396  histograms.h_etaSIM = ibook.book1D("etaSIM", "generated pseudorapidity", nintEta, minEta, maxEta);
397  histograms.h_tracksSIM =
398  ibook.book1D("tracksSIM", "number of simulated tracks", nintTracks, minTracks, maxTracks * 10);
399  histograms.h_vertposSIM =
400  ibook.book1D("vertposSIM", "Transverse position of sim vertices", nintVertpos, minVertpos, maxVertpos);
401  histograms.h_bunchxSIM = ibook.book1D("bunchxSIM", "bunch crossing", 21, -15.5, 5.5);
402 }
void MTVHistoProducerAlgoForTracker::bookSimTrackHistos ( DQMStore::IBooker ibook,
Histograms histograms,
bool  doResolutionPlots 
)

Definition at line 404 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::algoSize, dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dqm::dqmstoreimpl::DQMStore::IBooker::book2D(), constexpr, MTVHistoProducerAlgoForTrackerHistograms::h_assoc3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_assocdr, MTVHistoProducerAlgoForTrackerHistograms::h_assocdrj, MTVHistoProducerAlgoForTrackerHistograms::h_assocdxy, MTVHistoProducerAlgoForTrackerHistograms::h_assocdz, MTVHistoProducerAlgoForTrackerHistograms::h_assoceta, MTVHistoProducerAlgoForTrackerHistograms::h_assochit, MTVHistoProducerAlgoForTrackerHistograms::h_assoclayer, MTVHistoProducerAlgoForTrackerHistograms::h_assocphi, MTVHistoProducerAlgoForTrackerHistograms::h_assocpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_assocpT, MTVHistoProducerAlgoForTrackerHistograms::h_assocpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_assocpu, MTVHistoProducerAlgoForTrackerHistograms::h_assocvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_assoczpos, MTVHistoProducerAlgoForTrackerHistograms::h_duplicates_oriAlgo_vs_oriAlgo, MTVHistoProducerAlgoForTrackerHistograms::h_simul3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_simul_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_simuldr, MTVHistoProducerAlgoForTrackerHistograms::h_simuldrj, MTVHistoProducerAlgoForTrackerHistograms::h_simuldxy, MTVHistoProducerAlgoForTrackerHistograms::h_simuldz, MTVHistoProducerAlgoForTrackerHistograms::h_simuleta, MTVHistoProducerAlgoForTrackerHistograms::h_simulhit, MTVHistoProducerAlgoForTrackerHistograms::h_simullayer, MTVHistoProducerAlgoForTrackerHistograms::h_simulphi, MTVHistoProducerAlgoForTrackerHistograms::h_simulpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_simulpT, MTVHistoProducerAlgoForTrackerHistograms::h_simulpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_simulpu, MTVHistoProducerAlgoForTrackerHistograms::h_simulvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_simulzpos, 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, MTVHistoProducerAlgoForTrackerHistograms::nrecHit_vs_nsimHit_sim2rec, useLogPt, and useLogVertpos.

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

Definition at line 551 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::dqmstoreimpl::DQMStore::IBooker::book1D(), dxyDzZoom, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assocdxypv, MTVHistoProducerAlgoForTrackerHistograms::h_assocdxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_assocdzpv, MTVHistoProducerAlgoForTrackerHistograms::h_assocdzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simuldxypv, MTVHistoProducerAlgoForTrackerHistograms::h_simuldxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_simuldzpv, MTVHistoProducerAlgoForTrackerHistograms::h_simuldzpvzoomed, maxDxy, maxDz, maxDzpvCum, maxDzpvsigCum, minDxy, minDz, nintDxy, nintDz, nintDzpvCum, and nintDzpvsigCum.

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

References KineDebug3::count(), reco::DeDxData::dEdx(), MTVHistoProducerAlgoForTrackerHistograms::h_dedx_estim, MTVHistoProducerAlgoForTrackerHistograms::h_dedx_nom, MTVHistoProducerAlgoForTrackerHistograms::h_dedx_sat, mps_fire::i, reco::DeDxData::numberOfMeasurements(), and reco::DeDxData::numberOfSaturatedMeasurements().

1934  {
1935  for (unsigned int i = 0; i < v_dEdx.size(); i++) {
1936  const edm::ValueMap<reco::DeDxData>& dEdxTrack = *(v_dEdx[i]);
1937  const reco::DeDxData& dedx = dEdxTrack[trackref];
1938  histograms.h_dedx_estim[count][i]->Fill(dedx.dEdx());
1939  histograms.h_dedx_nom[count][i]->Fill(dedx.numberOfMeasurements());
1940  histograms.h_dedx_sat[count][i]->Fill(dedx.numberOfSaturatedMeasurements());
1941  }
1942 }
float dEdx() const
Definition: DeDxData.cc:11
unsigned int numberOfMeasurements() const
Definition: DeDxData.cc:18
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
int numberOfSaturatedMeasurements() const
Definition: DeDxData.cc:20
void MTVHistoProducerAlgoForTracker::fill_duplicate_histos ( const Histograms histograms,
int  count,
const reco::Track track1,
const reco::Track track2 
) const

Definition at line 1918 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), MTVHistoProducerAlgoForTrackerHistograms::h_duplicates_oriAlgo_vs_oriAlgo, and reco::TrackBase::originalAlgo().

1921  {
1922  histograms.h_duplicates_oriAlgo_vs_oriAlgo[count]->Fill(track1.originalAlgo(), track2.originalAlgo());
1923 }
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
TrackAlgorithm originalAlgo() const
Definition: TrackBase.h:527
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 1944 of file MTVHistoProducerAlgoForTracker.cc.

References funct::abs(), reco::TrackBase::algo(), MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2prob_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::assoc_chi2prob_vs_pt, hltPixelTracks_cff::chi2, reco::TrackBase::chi2(), KineDebug3::count(), doSeedPlots_, PVValHelper::dxy, reco::TrackBase::dxy(), PVValHelper::dz, reco::TrackBase::dz(), reco::TrackBase::dzError(), PVValHelper::eta, reco::Track::found(), getEta(), getPt(), getSeedingLayerSetBin(), MTVHistoProducerAlgoForTrackerHistograms::h_algo, MTVHistoProducerAlgoForTrackerHistograms::h_assoc23Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_eta_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mva_vs_pt_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_mvacut_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2chi2, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2chi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dr, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2drj, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dxy, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dxypv, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dz, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dzpv, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2dzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2eta, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2hit, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2layer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2phi, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pT, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2pu, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2vertpos, MTVHistoProducerAlgoForTrackerHistograms::h_assoc2zpos, MTVHistoProducerAlgoForTrackerHistograms::h_assocFraction, MTVHistoProducerAlgoForTrackerHistograms::h_assocSharedHit, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_eta_hp, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::h_fake_mva_vs_pt_hp, MTVHistoProducerAlgoForTrackerHistograms::h_looper3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_looper_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_looper_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_looperchi2, MTVHistoProducerAlgoForTrackerHistograms::h_looperchi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_looperdr, MTVHistoProducerAlgoForTrackerHistograms::h_looperdrj, MTVHistoProducerAlgoForTrackerHistograms::h_looperdxy, MTVHistoProducerAlgoForTrackerHistograms::h_looperdxypv, MTVHistoProducerAlgoForTrackerHistograms::h_looperdxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_looperdz, MTVHistoProducerAlgoForTrackerHistograms::h_looperdzpv, MTVHistoProducerAlgoForTrackerHistograms::h_looperdzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_loopereta, MTVHistoProducerAlgoForTrackerHistograms::h_looperhit, MTVHistoProducerAlgoForTrackerHistograms::h_looperlayer, MTVHistoProducerAlgoForTrackerHistograms::h_looperphi, MTVHistoProducerAlgoForTrackerHistograms::h_looperpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_looperpT, MTVHistoProducerAlgoForTrackerHistograms::h_looperpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_looperpu, MTVHistoProducerAlgoForTrackerHistograms::h_loopervertpos, MTVHistoProducerAlgoForTrackerHistograms::h_looperzpos, MTVHistoProducerAlgoForTrackerHistograms::h_misid3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_misidchi2, MTVHistoProducerAlgoForTrackerHistograms::h_misidchi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_misiddxy, MTVHistoProducerAlgoForTrackerHistograms::h_misiddxypv, MTVHistoProducerAlgoForTrackerHistograms::h_misiddxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_misiddz, MTVHistoProducerAlgoForTrackerHistograms::h_misiddzpv, MTVHistoProducerAlgoForTrackerHistograms::h_misiddzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_misideta, MTVHistoProducerAlgoForTrackerHistograms::h_misidhit, MTVHistoProducerAlgoForTrackerHistograms::h_misidlayer, MTVHistoProducerAlgoForTrackerHistograms::h_misidphi, MTVHistoProducerAlgoForTrackerHistograms::h_misidpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_misidpT, MTVHistoProducerAlgoForTrackerHistograms::h_misidpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_misidpu, MTVHistoProducerAlgoForTrackerHistograms::h_pileup3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_pileup_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_pileupchi2, MTVHistoProducerAlgoForTrackerHistograms::h_pileupchi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdr, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdrj, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdxy, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdxypv, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdz, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdzpv, MTVHistoProducerAlgoForTrackerHistograms::h_pileupdzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_pileupeta, MTVHistoProducerAlgoForTrackerHistograms::h_pileuphit, MTVHistoProducerAlgoForTrackerHistograms::h_pileuplayer, MTVHistoProducerAlgoForTrackerHistograms::h_pileupphi, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppT, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_pileuppu, MTVHistoProducerAlgoForTrackerHistograms::h_pileupvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_pileupzpos, MTVHistoProducerAlgoForTrackerHistograms::h_reco2eta, MTVHistoProducerAlgoForTrackerHistograms::h_reco2pT, MTVHistoProducerAlgoForTrackerHistograms::h_reco2pTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_reco2pu, MTVHistoProducerAlgoForTrackerHistograms::h_reco3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_reco_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mva, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mva_hp, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_reco_mvacut_hp, MTVHistoProducerAlgoForTrackerHistograms::h_reco_seedingLayerSet, MTVHistoProducerAlgoForTrackerHistograms::h_reco_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_recochi2, MTVHistoProducerAlgoForTrackerHistograms::h_recochi2prob, MTVHistoProducerAlgoForTrackerHistograms::h_recodr, MTVHistoProducerAlgoForTrackerHistograms::h_recodrj, MTVHistoProducerAlgoForTrackerHistograms::h_recodxy, MTVHistoProducerAlgoForTrackerHistograms::h_recodxypv, MTVHistoProducerAlgoForTrackerHistograms::h_recodxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_recodz, MTVHistoProducerAlgoForTrackerHistograms::h_recodzpv, MTVHistoProducerAlgoForTrackerHistograms::h_recodzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_recoeta, MTVHistoProducerAlgoForTrackerHistograms::h_recohit, MTVHistoProducerAlgoForTrackerHistograms::h_recolayer, MTVHistoProducerAlgoForTrackerHistograms::h_recophi, MTVHistoProducerAlgoForTrackerHistograms::h_recopixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_recopT, MTVHistoProducerAlgoForTrackerHistograms::h_recopTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_recopu, MTVHistoProducerAlgoForTrackerHistograms::h_recovertpos, MTVHistoProducerAlgoForTrackerHistograms::h_recozpos, reco::TrackBase::hitPattern(), createfilelist::int, reco::TrackBase::momentum(), reco::TrackBase::ndof(), nhits, nlayers, reco::TrackBase::normalizedChi2(), MTVHistoProducerAlgoForTrackerHistograms::nrecHit_vs_nsimHit_rec2sim, reco::TrackBase::numberOfValidHits(), reco::HitPattern::numberOfValidStripLayersWithMonoAndStereo(), phi, reco::HitPattern::pixelLayersWithMeasurement(), DiDispStaMuonMonitor_cfi::pt, reco::TrackBase::referencePoint(), seedingLayerSetNames, muonCosmicCompatibility_cfi::sharedHits, mathSSE::sqrt(), reco::HitPattern::trackerLayersWithMeasurement(), trackFromSeedFitFailed(), trackSelectorVsEta, trackSelectorVsPhi, and trackSelectorVsPt.

1962  {
1963  //Fill track algo histogram
1964  histograms.h_algo[count]->Fill(track.algo());
1965  int sharedHits = sharedFraction * track.numberOfValidHits();
1966 
1967  //Compute fake rate vs eta
1968  const auto eta = getEta(track.momentum().eta());
1969  const auto phi = track.momentum().phi();
1970  const auto pt = getPt(sqrt(track.momentum().perp2()));
1971  const auto dxy = track.dxy(bsPosition);
1972  const auto dz = track.dz(bsPosition);
1973  const auto dxypv = pvPosition ? track.dxy(*pvPosition) : 0.0;
1974  const auto dzpv = pvPosition ? track.dz(*pvPosition) : 0.0;
1975  const auto dzpvsig = pvPosition ? dzpv / track.dzError() : 0.0;
1976  const auto nhits = track.found();
1977  const auto nlayers = track.hitPattern().trackerLayersWithMeasurement();
1978  const auto nPixelLayers = track.hitPattern().pixelLayersWithMeasurement();
1979  const auto n3DLayers = nPixelLayers + track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
1980  const auto refPointWrtBS = track.referencePoint() - bsPosition;
1981  const auto vertxy = std::sqrt(refPointWrtBS.perp2());
1982  const auto vertz = refPointWrtBS.z();
1983  const auto chi2 = track.normalizedChi2();
1984  const auto chi2prob = TMath::Prob(track.chi2(), (int)track.ndof());
1985  const bool fillSeedingLayerSets = !seedingLayerSetNames.empty();
1986  const unsigned int seedingLayerSetBin = fillSeedingLayerSets ? getSeedingLayerSetBin(track, ttopo) : 0;
1987  const auto simpvz = simPVPosition ? simPVPosition->z() : 0.0;
1988 
1989  const bool paramsValid = !trackFromSeedFitFailed(track);
1990 
1991  if (paramsValid) {
1992  histograms.h_recoeta[count]->Fill(eta);
1993  histograms.h_recophi[count]->Fill(phi);
1994  histograms.h_recopT[count]->Fill(pt);
1995  histograms.h_recopTvseta[count]->Fill(eta, pt);
1996  histograms.h_recodxy[count]->Fill(dxy);
1997  histograms.h_recodz[count]->Fill(dz);
1998  histograms.h_recochi2[count]->Fill(chi2);
1999  histograms.h_recochi2prob[count]->Fill(chi2prob);
2000  histograms.h_recovertpos[count]->Fill(vertxy);
2001  histograms.h_recozpos[count]->Fill(vertz);
2002  histograms.h_recodr[count]->Fill(dR);
2003  histograms.h_recodrj[count]->Fill(dRJet);
2004  if (fillSeedingLayerSets)
2005  histograms.h_reco_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2006  if (pvPosition) {
2007  histograms.h_recodxypv[count]->Fill(dxypv);
2008  histograms.h_recodzpv[count]->Fill(dzpv);
2009  histograms.h_recodxypvzoomed[count]->Fill(dxypv);
2010  histograms.h_recodzpvzoomed[count]->Fill(dzpv);
2011 
2012  histograms.h_reco_dzpvcut[count]->Fill(std::abs(dzpv));
2013  histograms.h_reco_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
2014  histograms.h_reco_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
2015  histograms.h_reco_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
2016  }
2017  if (simPVPosition) {
2018  histograms.h_reco_simpvz[count]->Fill(simpvz);
2019  }
2020  if ((*trackSelectorVsEta)(track, bsPosition)) {
2021  histograms.h_reco2eta[count]->Fill(eta);
2022  }
2023  if ((*trackSelectorVsPt)(track, bsPosition)) {
2024  histograms.h_reco2pT[count]->Fill(pt);
2025  histograms.h_reco2pTvseta[count]->Fill(eta, pt);
2026  }
2027  }
2028  histograms.h_recohit[count]->Fill(nhits);
2029  histograms.h_recolayer[count]->Fill(nlayers);
2030  histograms.h_recopixellayer[count]->Fill(nPixelLayers);
2031  histograms.h_reco3Dlayer[count]->Fill(n3DLayers);
2032  histograms.h_recopu[count]->Fill(numVertices);
2033  if ((*trackSelectorVsPhi)(track, bsPosition)) {
2034  histograms.h_reco2pu[count]->Fill(numVertices);
2035  }
2036 
2037  fillMVAHistos(histograms.h_reco_mva[count],
2038  histograms.h_reco_mvacut[count],
2039  histograms.h_reco_mva_hp[count],
2040  histograms.h_reco_mvacut_hp[count],
2041  mvas,
2042  selectsLoose,
2043  selectsHP);
2044 
2045  if (isMatched) {
2046  if (paramsValid) {
2047  histograms.h_assoc2eta[count]->Fill(eta);
2048  histograms.h_assoc2phi[count]->Fill(phi);
2049  histograms.h_assoc2pT[count]->Fill(pt);
2050  histograms.h_assoc2pTvseta[count]->Fill(eta, pt);
2051  histograms.h_assoc2dxy[count]->Fill(dxy);
2052  histograms.h_assoc2dz[count]->Fill(dz);
2053  histograms.h_assoc2hit[count]->Fill(nhits);
2054  histograms.h_assoc2chi2[count]->Fill(chi2);
2055  histograms.h_assoc2chi2prob[count]->Fill(chi2prob);
2056  histograms.assoc_chi2_vs_eta[count]->Fill(eta, chi2);
2057  histograms.assoc_chi2prob_vs_eta[count]->Fill(eta, chi2prob);
2058  histograms.assoc_chi2_vs_pt[count]->Fill(pt, chi2);
2059  histograms.assoc_chi2prob_vs_pt[count]->Fill(pt, chi2prob);
2060  histograms.h_assoc2vertpos[count]->Fill(vertxy);
2061  histograms.h_assoc2zpos[count]->Fill(vertz);
2062  histograms.h_assoc2dr[count]->Fill(dR);
2063  histograms.h_assoc2drj[count]->Fill(dRJet);
2064  if (fillSeedingLayerSets)
2065  histograms.h_assoc2_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2066  if (pvPosition) {
2067  histograms.h_assoc2dxypv[count]->Fill(dxypv);
2068  histograms.h_assoc2dzpv[count]->Fill(dzpv);
2069  histograms.h_assoc2dxypvzoomed[count]->Fill(dxypv);
2070  histograms.h_assoc2dzpvzoomed[count]->Fill(dzpv);
2071 
2072  histograms.h_assoc2_dzpvcut[count]->Fill(std::abs(dzpv));
2073  histograms.h_assoc2_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
2074  histograms.h_assoc2_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
2075  histograms.h_assoc2_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
2076  }
2077  if (simPVPosition) {
2078  histograms.h_assoc2_simpvz[count]->Fill(simpvz);
2079  }
2080  }
2081  histograms.h_assoc2layer[count]->Fill(nlayers);
2082  histograms.h_assoc2pixellayer[count]->Fill(nPixelLayers);
2083  histograms.h_assoc23Dlayer[count]->Fill(n3DLayers);
2084  histograms.h_assoc2pu[count]->Fill(numVertices);
2085 
2086  fillMVAHistos(histograms.h_assoc2_mva[count],
2087  histograms.h_assoc2_mvacut[count],
2088  histograms.h_assoc2_mva_hp[count],
2089  histograms.h_assoc2_mvacut_hp[count],
2090  mvas,
2091  selectsLoose,
2092  selectsHP);
2093  fillMVAHistos(pt,
2094  histograms.h_assoc2_mva_vs_pt[count],
2095  histograms.h_assoc2_mva_vs_pt_hp[count],
2096  mvas,
2097  selectsLoose,
2098  selectsHP);
2099  fillMVAHistos(eta,
2100  histograms.h_assoc2_mva_vs_eta[count],
2101  histograms.h_assoc2_mva_vs_eta_hp[count],
2102  mvas,
2103  selectsLoose,
2104  selectsHP);
2105 
2106  if (histograms.nrecHit_vs_nsimHit_rec2sim[count])
2107  histograms.nrecHit_vs_nsimHit_rec2sim[count]->Fill(track.numberOfValidHits(), nSimHits);
2108  histograms.h_assocFraction[count]->Fill(sharedFraction);
2109  histograms.h_assocSharedHit[count]->Fill(sharedHits);
2110 
2111  if (!doSeedPlots_ && !isChargeMatched) {
2112  histograms.h_misideta[count]->Fill(eta);
2113  histograms.h_misidphi[count]->Fill(phi);
2114  histograms.h_misidpT[count]->Fill(pt);
2115  histograms.h_misidpTvseta[count]->Fill(eta, pt);
2116  histograms.h_misiddxy[count]->Fill(dxy);
2117  histograms.h_misiddz[count]->Fill(dz);
2118  histograms.h_misidhit[count]->Fill(nhits);
2119  histograms.h_misidlayer[count]->Fill(nlayers);
2120  histograms.h_misidpixellayer[count]->Fill(nPixelLayers);
2121  histograms.h_misid3Dlayer[count]->Fill(n3DLayers);
2122  histograms.h_misidpu[count]->Fill(numVertices);
2123  histograms.h_misidchi2[count]->Fill(chi2);
2124  histograms.h_misidchi2prob[count]->Fill(chi2prob);
2125  if (pvPosition) {
2126  histograms.h_misiddxypv[count]->Fill(dxypv);
2127  histograms.h_misiddzpv[count]->Fill(dzpv);
2128  histograms.h_misiddxypvzoomed[count]->Fill(dxypv);
2129  histograms.h_misiddzpvzoomed[count]->Fill(dzpv);
2130  }
2131  }
2132 
2133  if (numAssocRecoTracks > 1) {
2134  if (paramsValid) {
2135  histograms.h_loopereta[count]->Fill(eta);
2136  histograms.h_looperphi[count]->Fill(phi);
2137  histograms.h_looperpT[count]->Fill(pt);
2138  histograms.h_looperpTvseta[count]->Fill(eta, pt);
2139  histograms.h_looperdxy[count]->Fill(dxy);
2140  histograms.h_looperdz[count]->Fill(dz);
2141  histograms.h_looperchi2[count]->Fill(chi2);
2142  histograms.h_looperchi2prob[count]->Fill(chi2prob);
2143  histograms.h_loopervertpos[count]->Fill(vertxy);
2144  histograms.h_looperzpos[count]->Fill(vertz);
2145  histograms.h_looperdr[count]->Fill(dR);
2146  histograms.h_looperdrj[count]->Fill(dRJet);
2147  if (fillSeedingLayerSets)
2148  histograms.h_looper_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2149  if (pvPosition) {
2150  histograms.h_looperdxypv[count]->Fill(dxypv);
2151  histograms.h_looperdzpv[count]->Fill(dzpv);
2152  histograms.h_looperdxypvzoomed[count]->Fill(dxypv);
2153  histograms.h_looperdzpvzoomed[count]->Fill(dzpv);
2154  }
2155  if (simPVPosition) {
2156  histograms.h_looper_simpvz[count]->Fill(simpvz);
2157  }
2158  }
2159  histograms.h_looperhit[count]->Fill(nhits);
2160  histograms.h_looperlayer[count]->Fill(nlayers);
2161  histograms.h_looperpixellayer[count]->Fill(nPixelLayers);
2162  histograms.h_looper3Dlayer[count]->Fill(n3DLayers);
2163  histograms.h_looperpu[count]->Fill(numVertices);
2164  }
2165  if (!isSigMatched) {
2166  if (paramsValid) {
2167  histograms.h_pileupeta[count]->Fill(eta);
2168  histograms.h_pileupphi[count]->Fill(phi);
2169  histograms.h_pileuppT[count]->Fill(pt);
2170  histograms.h_pileuppTvseta[count]->Fill(eta, pt);
2171  histograms.h_pileupdxy[count]->Fill(dxy);
2172  histograms.h_pileupdz[count]->Fill(dz);
2173  histograms.h_pileupchi2[count]->Fill(chi2);
2174  histograms.h_pileupchi2prob[count]->Fill(chi2prob);
2175  histograms.h_pileupvertpos[count]->Fill(vertxy);
2176  histograms.h_pileupzpos[count]->Fill(vertz);
2177  histograms.h_pileupdr[count]->Fill(dR);
2178  histograms.h_pileupdrj[count]->Fill(dRJet);
2179  if (fillSeedingLayerSets)
2180  histograms.h_pileup_seedingLayerSet[count]->Fill(seedingLayerSetBin);
2181  if (pvPosition) {
2182  histograms.h_pileupdxypv[count]->Fill(dxypv);
2183  histograms.h_pileupdzpv[count]->Fill(dzpv);
2184  histograms.h_pileupdxypvzoomed[count]->Fill(dxypv);
2185  histograms.h_pileupdzpvzoomed[count]->Fill(dzpv);
2186 
2187  histograms.h_pileup_dzpvcut[count]->Fill(std::abs(dzpv));
2188  histograms.h_pileup_dzpvsigcut[count]->Fill(std::abs(dzpvsig));
2189  histograms.h_pileup_dzpvcut_pt[count]->Fill(std::abs(dzpv), pt);
2190  histograms.h_pileup_dzpvsigcut_pt[count]->Fill(std::abs(dzpvsig), pt);
2191  }
2192  if (simPVPosition) {
2193  histograms.h_pileup_simpvz[count]->Fill(simpvz);
2194  }
2195  }
2196  histograms.h_pileuphit[count]->Fill(nhits);
2197  histograms.h_pileuplayer[count]->Fill(nlayers);
2198  histograms.h_pileuppixellayer[count]->Fill(nPixelLayers);
2199  histograms.h_pileup3Dlayer[count]->Fill(n3DLayers);
2200  histograms.h_pileuppu[count]->Fill(numVertices);
2201  }
2202  } else { // !isMatched
2203  fillMVAHistos(
2204  pt, histograms.h_fake_mva_vs_pt[count], histograms.h_fake_mva_vs_pt_hp[count], mvas, selectsLoose, selectsHP);
2205  fillMVAHistos(
2206  eta, histograms.h_fake_mva_vs_eta[count], histograms.h_fake_mva_vs_eta_hp[count], mvas, selectsLoose, selectsHP);
2207  }
2208 }
const Point & referencePoint() const
Reference point on the track.
Definition: TrackBase.h:632
bool trackFromSeedFitFailed(const reco::Track &track)
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:572
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPhi
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:492
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:629
unsigned int getSeedingLayerSetBin(const reco::Track &track, const TrackerTopology &ttopo) const
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:513
TrackAlgorithm algo() const
Definition: TrackBase.h:526
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:348
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:566
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:569
T sqrt(T t)
Definition: SSEVec.h:19
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsPt
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:596
double dzError() const
error on dz
Definition: TrackBase.h:725
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:483
std::vector< std::string > seedingLayerSetNames
unsigned short found() const
Number of valid hits on track.
Definition: Track.h:142
std::unique_ptr< RecoTrackSelectorBase > trackSelectorVsEta
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:587
void MTVHistoProducerAlgoForTracker::fill_generic_simTrack_histos ( const Histograms histograms,
const TrackingParticle::Vector momentumTP,
const TrackingParticle::Point vertex,
int  bx 
) const

Definition at line 1748 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::impl::MonitorElement::Fill(), MTVHistoProducerAlgoForTrackerHistograms::h_bunchxSIM, MTVHistoProducerAlgoForTrackerHistograms::h_etaSIM, MTVHistoProducerAlgoForTrackerHistograms::h_ptSIM, MTVHistoProducerAlgoForTrackerHistograms::h_vertposSIM, and mathSSE::sqrt().

1751  {
1752  if (bx == 0) {
1753  histograms.h_ptSIM->Fill(sqrt(momentumTP.perp2()));
1754  histograms.h_etaSIM->Fill(momentumTP.eta());
1755  histograms.h_vertposSIM->Fill(sqrt(vertexTP.perp2()));
1756  }
1757  histograms.h_bunchxSIM->Fill(bx);
1758 }
T sqrt(T t)
Definition: SSEVec.h:19
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
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 1760 of file MTVHistoProducerAlgoForTracker.cc.

References funct::abs(), KineDebug3::count(), reco::TrackBase::dz(), reco::TrackBase::dzError(), PVValHelper::eta, getEta(), getPt(), MTVHistoProducerAlgoForTrackerHistograms::h_assoc3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_mvacut_hp, MTVHistoProducerAlgoForTrackerHistograms::h_assoc_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_assocdr, MTVHistoProducerAlgoForTrackerHistograms::h_assocdrj, MTVHistoProducerAlgoForTrackerHistograms::h_assocdxy, MTVHistoProducerAlgoForTrackerHistograms::h_assocdxypv, MTVHistoProducerAlgoForTrackerHistograms::h_assocdxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_assocdz, MTVHistoProducerAlgoForTrackerHistograms::h_assocdzpv, MTVHistoProducerAlgoForTrackerHistograms::h_assocdzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_assoceta, MTVHistoProducerAlgoForTrackerHistograms::h_assochit, MTVHistoProducerAlgoForTrackerHistograms::h_assoclayer, MTVHistoProducerAlgoForTrackerHistograms::h_assocphi, MTVHistoProducerAlgoForTrackerHistograms::h_assocpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_assocpT, MTVHistoProducerAlgoForTrackerHistograms::h_assocpu, MTVHistoProducerAlgoForTrackerHistograms::h_assocvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_assoczpos, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_mvacut, MTVHistoProducerAlgoForTrackerHistograms::h_simul2_mvacut_hp, MTVHistoProducerAlgoForTrackerHistograms::h_simul3Dlayer, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvsigcut, MTVHistoProducerAlgoForTrackerHistograms::h_simul_dzpvsigcut_pt, MTVHistoProducerAlgoForTrackerHistograms::h_simul_simpvz, MTVHistoProducerAlgoForTrackerHistograms::h_simuldr, MTVHistoProducerAlgoForTrackerHistograms::h_simuldrj, MTVHistoProducerAlgoForTrackerHistograms::h_simuldxy, MTVHistoProducerAlgoForTrackerHistograms::h_simuldxypv, MTVHistoProducerAlgoForTrackerHistograms::h_simuldxypvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_simuldz, MTVHistoProducerAlgoForTrackerHistograms::h_simuldzpv, MTVHistoProducerAlgoForTrackerHistograms::h_simuldzpvzoomed, MTVHistoProducerAlgoForTrackerHistograms::h_simuleta, MTVHistoProducerAlgoForTrackerHistograms::h_simulhit, MTVHistoProducerAlgoForTrackerHistograms::h_simullayer, MTVHistoProducerAlgoForTrackerHistograms::h_simulphi, MTVHistoProducerAlgoForTrackerHistograms::h_simulpixellayer, MTVHistoProducerAlgoForTrackerHistograms::h_simulpT, MTVHistoProducerAlgoForTrackerHistograms::h_simulpu, MTVHistoProducerAlgoForTrackerHistograms::h_simulvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_simulzpos, mps_fire::i, trackerHitRTTI::isMatched(), maxMVA, MTVHistoProducerAlgoForTrackerHistograms::nrecHit_vs_nsimHit_sim2rec, reco::TrackBase::numberOfValidHits(), phi, DiDispStaMuonMonitor_cfi::pt, mathSSE::sqrt(), TpSelectorForEfficiencyVsEta, TpSelectorForEfficiencyVsPhi, TpSelectorForEfficiencyVsPt, TpSelectorForEfficiencyVsVTXR, TpSelectorForEfficiencyVsVTXZ, and HLT_2018_cff::track.

1783  {
1784  bool isMatched = track;
1785  const auto eta = getEta(momentumTP.eta());
1786  const auto phi = momentumTP.phi();
1787  const auto pt = getPt(sqrt(momentumTP.perp2()));
1788  const auto nSim3DLayers = nSimPixelLayers + nSimStripMonoAndStereoLayers;
1789 
1790  const auto vertexTPwrtBS = vertexTP - bsPosition;
1791  const auto vertxy = std::sqrt(vertexTPwrtBS.perp2());
1792  const auto vertz = vertexTPwrtBS.z();
1793 
1794  //efficiency vs. cut on MVA
1795  //
1796  // Note that this includes also pileup TPs, as "signalOnly"
1797  // selection is applied only in the TpSelector*. Have to think if
1798  // this is really what we want.
1799  if (isMatched) {
1800  for (size_t i = 0; i < mvas.size(); ++i) {
1801  if (i <= selectsLoose) {
1802  histograms.h_simul2_mvacut[count][i]->Fill(maxMVA);
1803  histograms.h_assoc_mvacut[count][i]->Fill(mvas[i]);
1804  }
1805  if (i >= 1 && i <= selectsHP) {
1806  histograms.h_simul2_mvacut_hp[count][i]->Fill(maxMVA);
1807  histograms.h_assoc_mvacut_hp[count][i]->Fill(mvas[i]);
1808  }
1809  }
1810  }
1811 
1812  if ((*TpSelectorForEfficiencyVsEta)(tp)) {
1813  //effic vs eta
1814  histograms.h_simuleta[count]->Fill(eta);
1815  if (isMatched)
1816  histograms.h_assoceta[count]->Fill(eta);
1817  }
1818 
1819  if ((*TpSelectorForEfficiencyVsPhi)(tp)) {
1820  histograms.h_simulphi[count]->Fill(phi);
1821  if (isMatched)
1822  histograms.h_assocphi[count]->Fill(phi);
1823  //effic vs hits
1824  histograms.h_simulhit[count]->Fill(nSimHits);
1825  histograms.h_simullayer[count]->Fill(nSimLayers);
1826  histograms.h_simulpixellayer[count]->Fill(nSimPixelLayers);
1827  histograms.h_simul3Dlayer[count]->Fill(nSim3DLayers);
1828  if (isMatched) {
1829  histograms.h_assochit[count]->Fill(nSimHits);
1830  histograms.h_assoclayer[count]->Fill(nSimLayers);
1831  histograms.h_assocpixellayer[count]->Fill(nSimPixelLayers);
1832  histograms.h_assoc3Dlayer[count]->Fill(nSim3DLayers);
1833  if (histograms.nrecHit_vs_nsimHit_sim2rec[count])
1834  histograms.nrecHit_vs_nsimHit_sim2rec[count]->Fill(track->numberOfValidHits(), nSimHits);
1835  }
1836  //effic vs pu
1837  histograms.h_simulpu[count]->Fill(numVertices);
1838  if (isMatched)
1839  histograms.h_assocpu[count]->Fill(numVertices);
1840  //efficiency vs dR
1841  histograms.h_simuldr[count]->Fill(dR);
1842  if (isMatched)
1843  histograms.h_assocdr[count]->Fill(dR);
1844  //efficiency vs dR jet
1845  histograms.h_simuldrj[count]->Fill(dRJet);
1846  if (isMatched)
1847  histograms.h_assocdrj[count]->Fill(dRJet);
1848  }
1849 
1850  if ((*TpSelectorForEfficiencyVsPt)(tp)) {
1851  histograms.h_simulpT[count]->Fill(pt);
1852  if (isMatched)
1853  histograms.h_assocpT[count]->Fill(pt);
1854  }
1855 
1856  if ((*TpSelectorForEfficiencyVsVTXR)(tp)) {
1857  histograms.h_simuldxy[count]->Fill(dxySim);
1858  if (isMatched)
1859  histograms.h_assocdxy[count]->Fill(dxySim);
1860  if (pvPosition) {
1861  histograms.h_simuldxypv[count]->Fill(dxyPVSim);
1862  histograms.h_simuldxypvzoomed[count]->Fill(dxyPVSim);
1863  if (isMatched) {
1864  histograms.h_assocdxypv[count]->Fill(dxyPVSim);
1865  histograms.h_assocdxypvzoomed[count]->Fill(dxyPVSim);
1866  }
1867  }
1868 
1869  histograms.h_simulvertpos[count]->Fill(vertxy);
1870  if (isMatched)
1871  histograms.h_assocvertpos[count]->Fill(vertxy);
1872  }
1873 
1874  if ((*TpSelectorForEfficiencyVsVTXZ)(tp)) {
1875  histograms.h_simuldz[count]->Fill(dzSim);
1876  if (isMatched)
1877  histograms.h_assocdz[count]->Fill(dzSim);
1878 
1879  histograms.h_simulzpos[count]->Fill(vertz);
1880  if (isMatched)
1881  histograms.h_assoczpos[count]->Fill(vertz);
1882 
1883  if (pvPosition) {
1884  histograms.h_simuldzpv[count]->Fill(dzPVSim);
1885  histograms.h_simuldzpvzoomed[count]->Fill(dzPVSim);
1886 
1887  histograms.h_simul_dzpvcut[count]->Fill(0);
1888  histograms.h_simul_dzpvsigcut[count]->Fill(0);
1889  histograms.h_simul_dzpvcut_pt[count]->Fill(0, pt);
1890  histograms.h_simul_dzpvsigcut_pt[count]->Fill(0, pt);
1891 
1892  if (isMatched) {
1893  histograms.h_assocdzpv[count]->Fill(dzPVSim);
1894  histograms.h_assocdzpvzoomed[count]->Fill(dzPVSim);
1895 
1896  histograms.h_simul2_dzpvcut[count]->Fill(0);
1897  histograms.h_simul2_dzpvsigcut[count]->Fill(0);
1898  histograms.h_simul2_dzpvcut_pt[count]->Fill(0, pt);
1899  histograms.h_simul2_dzpvsigcut_pt[count]->Fill(0, pt);
1900  const double dzpvcut = std::abs(track->dz(*pvPosition));
1901  const double dzpvsigcut = dzpvcut / track->dzError();
1902  histograms.h_assoc_dzpvcut[count]->Fill(dzpvcut);
1903  histograms.h_assoc_dzpvsigcut[count]->Fill(dzpvsigcut);
1904  histograms.h_assoc_dzpvcut_pt[count]->Fill(dzpvcut, pt);
1905  histograms.h_assoc_dzpvsigcut_pt[count]->Fill(dzpvsigcut, pt);
1906  }
1907  }
1908  if (simPVPosition) {
1909  const auto simpvz = simPVPosition->z();
1910  histograms.h_simul_simpvz[count]->Fill(simpvz);
1911  if (isMatched) {
1912  histograms.h_assoc_simpvz[count]->Fill(simpvz);
1913  }
1914  }
1915  }
1916 }
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPt
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsEta
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXR
T sqrt(T t)
Definition: SSEVec.h:19
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:596
double dzError() const
error on dz
Definition: TrackBase.h:725
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsPhi
std::unique_ptr< TrackingParticleSelector > TpSelectorForEfficiencyVsVTXZ
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 2569 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), getEta(), getPt(), GpSelectorForEfficiencyVsEta, GpSelectorForEfficiencyVsPhi, GpSelectorForEfficiencyVsPt, GpSelectorForEfficiencyVsVTXR, GpSelectorForEfficiencyVsVTXZ, MTVHistoProducerAlgoForTrackerHistograms::h_assocdxy, MTVHistoProducerAlgoForTrackerHistograms::h_assocdz, MTVHistoProducerAlgoForTrackerHistograms::h_assoceta, MTVHistoProducerAlgoForTrackerHistograms::h_assochit, MTVHistoProducerAlgoForTrackerHistograms::h_assocphi, MTVHistoProducerAlgoForTrackerHistograms::h_assocpT, MTVHistoProducerAlgoForTrackerHistograms::h_assocpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_assocpu, MTVHistoProducerAlgoForTrackerHistograms::h_assocvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_assoczpos, MTVHistoProducerAlgoForTrackerHistograms::h_simuldxy, MTVHistoProducerAlgoForTrackerHistograms::h_simuldz, MTVHistoProducerAlgoForTrackerHistograms::h_simuleta, MTVHistoProducerAlgoForTrackerHistograms::h_simulhit, MTVHistoProducerAlgoForTrackerHistograms::h_simulphi, MTVHistoProducerAlgoForTrackerHistograms::h_simulpT, MTVHistoProducerAlgoForTrackerHistograms::h_simulpTvseta, MTVHistoProducerAlgoForTrackerHistograms::h_simulpu, MTVHistoProducerAlgoForTrackerHistograms::h_simulvertpos, MTVHistoProducerAlgoForTrackerHistograms::h_simulzpos, trackerHitRTTI::isMatched(), MTVHistoProducerAlgoForTrackerHistograms::nrecHit_vs_nsimHit_sim2rec, reco::TrackBase::numberOfValidHits(), mathSSE::sqrt(), and HLT_2018_cff::track.

2578  {
2579  bool isMatched = track;
2580 
2581  if ((*GpSelectorForEfficiencyVsEta)(tp)) {
2582  //effic vs eta
2583  histograms.h_simuleta[count]->Fill(getEta(momentumTP.eta()));
2584  if (isMatched)
2585  histograms.h_assoceta[count]->Fill(getEta(momentumTP.eta()));
2586  }
2587 
2588  if ((*GpSelectorForEfficiencyVsPhi)(tp)) {
2589  histograms.h_simulphi[count]->Fill(momentumTP.phi());
2590  if (isMatched)
2591  histograms.h_assocphi[count]->Fill(momentumTP.phi());
2592  //effic vs hits
2593  histograms.h_simulhit[count]->Fill((int)nSimHits);
2594  if (isMatched) {
2595  histograms.h_assochit[count]->Fill((int)nSimHits);
2596  if (histograms.nrecHit_vs_nsimHit_sim2rec[count])
2597  histograms.nrecHit_vs_nsimHit_sim2rec[count]->Fill(track->numberOfValidHits(), nSimHits);
2598  }
2599  //effic vs pu
2600  histograms.h_simulpu[count]->Fill(numVertices);
2601  if (isMatched)
2602  histograms.h_assocpu[count]->Fill(numVertices);
2603  //efficiency vs dR
2604  //not implemented for now
2605  }
2606 
2607  if ((*GpSelectorForEfficiencyVsPt)(tp)) {
2608  histograms.h_simulpT[count]->Fill(getPt(sqrt(momentumTP.perp2())));
2609  histograms.h_simulpTvseta[count]->Fill(getEta(momentumTP.eta()), getPt(sqrt(momentumTP.perp2())));
2610  if (isMatched) {
2611  histograms.h_assocpT[count]->Fill(getPt(sqrt(momentumTP.perp2())));
2612  histograms.h_assocpTvseta[count]->Fill(getEta(momentumTP.eta()), getPt(sqrt(momentumTP.perp2())));
2613  }
2614  }
2615 
2616  if ((*GpSelectorForEfficiencyVsVTXR)(tp)) {
2617  histograms.h_simuldxy[count]->Fill(dxySim);
2618  if (isMatched)
2619  histograms.h_assocdxy[count]->Fill(dxySim);
2620 
2621  histograms.h_simulvertpos[count]->Fill(sqrt(vertexTP.perp2()));
2622  if (isMatched)
2623  histograms.h_assocvertpos[count]->Fill(sqrt(vertexTP.perp2()));
2624  }
2625 
2626  if ((*GpSelectorForEfficiencyVsVTXZ)(tp)) {
2627  histograms.h_simuldz[count]->Fill(dzSim);
2628  if (isMatched)
2629  histograms.h_assocdz[count]->Fill(dzSim);
2630 
2631  histograms.h_simulzpos[count]->Fill(vertexTP.z());
2632  if (isMatched)
2633  histograms.h_assoczpos[count]->Fill(vertexTP.z());
2634  }
2635 }
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXR
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsVTXZ
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPt
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsPhi
T sqrt(T t)
Definition: SSEVec.h:19
std::unique_ptr< GenParticleCustomSelector > GpSelectorForEfficiencyVsEta
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
bool isMatched(TrackingRecHit const &hit)
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
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 2280 of file MTVHistoProducerAlgoForTracker.cc.

References MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::cotThetares_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::cotThetares_vs_pt, KineDebug3::count(), TrackingParticleIP::dxy(), reco::TrackBase::dxy(), reco::TrackBase::dxyError(), MTVHistoProducerAlgoForTrackerHistograms::dxypull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::dxyres_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::dxyres_vs_pt, TrackingParticleIP::dz(), reco::TrackBase::dz(), reco::TrackBase::dzError(), MTVHistoProducerAlgoForTrackerHistograms::dzpull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::dzres_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::dzres_vs_pt, reco::TrackBase::eta(), MTVHistoProducerAlgoForTrackerHistograms::etares_vs_eta, getEta(), getPt(), getRecoMomentum(), MTVHistoProducerAlgoForTrackerHistograms::h_eta, MTVHistoProducerAlgoForTrackerHistograms::h_pt, MTVHistoProducerAlgoForTrackerHistograms::h_pullDxy, MTVHistoProducerAlgoForTrackerHistograms::h_pullDz, MTVHistoProducerAlgoForTrackerHistograms::h_pullPhi, MTVHistoProducerAlgoForTrackerHistograms::h_pullQoverp, MTVHistoProducerAlgoForTrackerHistograms::h_pullTheta, LogTrace, M_PI, MTVHistoProducerAlgoForTrackerHistograms::nhits_vs_phi, reco::TrackBase::normalizedChi2(), reco::TrackBase::numberOfValidHits(), MTVHistoProducerAlgoForTrackerHistograms::phimean_vs_eta_phi, MTVHistoProducerAlgoForTrackerHistograms::phipull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::phipull_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::phires_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::phires_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::phires_vs_pt, MTVHistoProducerAlgoForTrackerHistograms::ptmean_vs_eta_phi, MTVHistoProducerAlgoForTrackerHistograms::ptpull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::ptpull_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::ptres_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::ptres_vs_phi, MTVHistoProducerAlgoForTrackerHistograms::ptres_vs_pt, mathSSE::sqrt(), funct::tan(), reco::TrackBase::theta(), MTVHistoProducerAlgoForTrackerHistograms::thetapull_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::thetapull_vs_phi, and trackFromSeedFitFailed().

2286  {
2287  if (trackFromSeedFitFailed(track))
2288  return;
2289 
2290  // evaluation of TP parameters
2291  double qoverpSim = chargeTP / sqrt(momentumTP.x() * momentumTP.x() + momentumTP.y() * momentumTP.y() +
2292  momentumTP.z() * momentumTP.z());
2293  double lambdaSim = M_PI / 2 - momentumTP.theta();
2294  double phiSim = momentumTP.phi();
2295  double dxySim = TrackingParticleIP::dxy(vertexTP, momentumTP, bsPosition);
2296  double dzSim = TrackingParticleIP::dz(vertexTP, momentumTP, bsPosition);
2297 
2298  // reco::Track::ParameterVector rParameters = track.parameters(); // UNUSED
2299 
2300  double qoverpRec(0);
2301  double qoverpErrorRec(0);
2302  double ptRec(0);
2303  double ptErrorRec(0);
2304  double lambdaRec(0);
2305  double lambdaErrorRec(0);
2306  double phiRec(0);
2307  double phiErrorRec(0);
2308 
2309  /* TO BE FIXED LATER -----------
2310  //loop to decide whether to take gsfTrack (utilisation of mode-function) or common track
2311  const GsfTrack* gsfTrack(0);
2312  if(useGsf){
2313  gsfTrack = dynamic_cast<const GsfTrack*>(&(*track));
2314  if (gsfTrack==0) edm::LogInfo("TrackValidator") << "Trying to access mode for a non-GsfTrack";
2315  }
2316 
2317  if (gsfTrack) {
2318  // get values from mode
2319  getRecoMomentum(*gsfTrack, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
2320  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
2321  }
2322 
2323  else {
2324  // get values from track (without mode)
2325  getRecoMomentum(*track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec,
2326  lambdaRec,lambdaErrorRec, phiRec, phiErrorRec);
2327  }
2328  */
2329  getRecoMomentum(track, ptRec, ptErrorRec, qoverpRec, qoverpErrorRec, lambdaRec, lambdaErrorRec, phiRec, phiErrorRec);
2330  // -------------
2331 
2332  double ptError = ptErrorRec;
2333  double ptres = ptRec - sqrt(momentumTP.perp2());
2334  double etares = track.eta() - momentumTP.Eta();
2335 
2336  double dxyRec = track.dxy(bsPosition);
2337  double dzRec = track.dz(bsPosition);
2338 
2339  const auto phiRes = phiRec - phiSim;
2340  const auto dxyRes = dxyRec - dxySim;
2341  const auto dzRes = dzRec - dzSim;
2342  const auto cotThetaRes = 1 / tan(M_PI * 0.5 - lambdaRec) - 1 / tan(M_PI * 0.5 - lambdaSim);
2343 
2344  // eta residue; pt, k, theta, phi, dxy, dz pulls
2345  double qoverpPull = (qoverpRec - qoverpSim) / qoverpErrorRec;
2346  double thetaPull = (lambdaRec - lambdaSim) / lambdaErrorRec;
2347  double phiPull = phiRes / phiErrorRec;
2348  double dxyPull = dxyRes / track.dxyError();
2349  double dzPull = dzRes / track.dzError();
2350 
2351 #ifdef EDM_ML_DEBUG
2352  double contrib_Qoverp = ((qoverpRec - qoverpSim) / qoverpErrorRec) * ((qoverpRec - qoverpSim) / qoverpErrorRec) / 5;
2353  double contrib_dxy = ((dxyRec - dxySim) / track.dxyError()) * ((dxyRec - dxySim) / track.dxyError()) / 5;
2354  double contrib_dz = ((dzRec - dzSim) / track.dzError()) * ((dzRec - dzSim) / track.dzError()) / 5;
2355  double contrib_theta = ((lambdaRec - lambdaSim) / lambdaErrorRec) * ((lambdaRec - lambdaSim) / lambdaErrorRec) / 5;
2356  double contrib_phi = ((phiRec - phiSim) / phiErrorRec) * ((phiRec - phiSim) / phiErrorRec) / 5;
2357 
2358  LogTrace("TrackValidatorTEST")
2359  //<< "assocChi2=" << tp.begin()->second << "\n"
2360  << ""
2361  << "\n"
2362  << "ptREC=" << ptRec << "\n"
2363  << "etaREC=" << track.eta() << "\n"
2364  << "qoverpREC=" << qoverpRec << "\n"
2365  << "dxyREC=" << dxyRec << "\n"
2366  << "dzREC=" << dzRec << "\n"
2367  << "thetaREC=" << track.theta() << "\n"
2368  << "phiREC=" << phiRec << "\n"
2369  << ""
2370  << "\n"
2371  << "qoverpError()=" << qoverpErrorRec << "\n"
2372  << "dxyError()=" << track.dxyError() << "\n"
2373  << "dzError()=" << track.dzError() << "\n"
2374  << "thetaError()=" << lambdaErrorRec << "\n"
2375  << "phiError()=" << phiErrorRec << "\n"
2376  << ""
2377  << "\n"
2378  << "ptSIM=" << sqrt(momentumTP.perp2()) << "\n"
2379  << "etaSIM=" << momentumTP.Eta() << "\n"
2380  << "qoverpSIM=" << qoverpSim << "\n"
2381  << "dxySIM=" << dxySim << "\n"
2382  << "dzSIM=" << dzSim << "\n"
2383  << "thetaSIM=" << M_PI / 2 - lambdaSim << "\n"
2384  << "phiSIM=" << phiSim << "\n"
2385  << ""
2386  << "\n"
2387  << "contrib_Qoverp=" << contrib_Qoverp << "\n"
2388  << "contrib_dxy=" << contrib_dxy << "\n"
2389  << "contrib_dz=" << contrib_dz << "\n"
2390  << "contrib_theta=" << contrib_theta << "\n"
2391  << "contrib_phi=" << contrib_phi << "\n"
2392  << ""
2393  << "\n"
2394  << "chi2PULL=" << contrib_Qoverp + contrib_dxy + contrib_dz + contrib_theta + contrib_phi << "\n";
2395 #endif
2396 
2397  histograms.h_pullQoverp[count]->Fill(qoverpPull);
2398  histograms.h_pullTheta[count]->Fill(thetaPull);
2399  histograms.h_pullPhi[count]->Fill(phiPull);
2400  histograms.h_pullDxy[count]->Fill(dxyPull);
2401  histograms.h_pullDz[count]->Fill(dzPull);
2402 
2403  const auto etaSim = getEta(momentumTP.eta());
2404  const auto ptSim = getPt(sqrt(momentumTP.perp2()));
2405 
2406  histograms.h_pt[count]->Fill(ptres / ptError);
2407  histograms.h_eta[count]->Fill(etares);
2408  //histograms.etares_vs_eta[count]->Fill(getEta(track.eta()),etares);
2409  histograms.etares_vs_eta[count]->Fill(etaSim, etares);
2410 
2411  //resolution of track params: fill 2D histos
2412  histograms.dxyres_vs_eta[count]->Fill(etaSim, dxyRes);
2413  histograms.ptres_vs_eta[count]->Fill(etaSim, ptres / ptRec);
2414  histograms.dzres_vs_eta[count]->Fill(etaSim, dzRes);
2415  histograms.phires_vs_eta[count]->Fill(etaSim, phiRes);
2416  histograms.cotThetares_vs_eta[count]->Fill(etaSim, cotThetaRes);
2417 
2418  //same as before but vs pT
2419  histograms.dxyres_vs_pt[count]->Fill(ptSim, dxyRes);
2420  histograms.ptres_vs_pt[count]->Fill(ptSim, ptres / ptRec);
2421  histograms.dzres_vs_pt[count]->Fill(ptSim, dzRes);
2422  histograms.phires_vs_pt[count]->Fill(ptSim, phiRes);
2423  histograms.cotThetares_vs_pt[count]->Fill(ptSim, cotThetaRes);
2424 
2425  //pulls of track params vs eta: fill 2D histos
2426  histograms.dxypull_vs_eta[count]->Fill(etaSim, dxyPull);
2427  histograms.ptpull_vs_eta[count]->Fill(etaSim, ptres / ptError);
2428  histograms.dzpull_vs_eta[count]->Fill(etaSim, dzPull);
2429  histograms.phipull_vs_eta[count]->Fill(etaSim, phiPull);
2430  histograms.thetapull_vs_eta[count]->Fill(etaSim, thetaPull);
2431 
2432  //plots vs phi
2433  histograms.nhits_vs_phi[count]->Fill(phiRec, track.numberOfValidHits());
2434  histograms.chi2_vs_phi[count]->Fill(phiRec, track.normalizedChi2());
2435  histograms.ptmean_vs_eta_phi[count]->Fill(phiRec, getEta(track.eta()), ptRec);
2436  histograms.phimean_vs_eta_phi[count]->Fill(phiRec, getEta(track.eta()), phiRec);
2437 
2438  histograms.ptres_vs_phi[count]->Fill(phiSim, ptres / ptRec);
2439  histograms.phires_vs_phi[count]->Fill(phiSim, phiRes);
2440  histograms.ptpull_vs_phi[count]->Fill(phiSim, ptres / ptError);
2441  histograms.phipull_vs_phi[count]->Fill(phiSim, phiPull);
2442  histograms.thetapull_vs_phi[count]->Fill(phiSim, thetaPull);
2443 }
bool trackFromSeedFitFailed(const reco::Track &track)
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:572
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) ...
double theta() const
polar angle
Definition: TrackBase.h:581
double dxyError() const
error on dxy
Definition: TrackBase.h:716
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:617
auto dz(const T_Vertex &vertex, const T_Momentum &momentum, const T_Point &point)
T sqrt(T t)
Definition: SSEVec.h:19
Tan< T >::type tan(const T &t)
Definition: Tan.h:22
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
#define LogTrace(id)
#define M_PI
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
Definition: TrackBase.h:596
double dzError() const
error on dz
Definition: TrackBase.h:725
auto dxy(const T_Vertex &vertex, const T_Momentum &momentum, const T_Point &point)
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Definition: TrackBase.h:587
void MTVHistoProducerAlgoForTracker::fill_seed_histos ( const Histograms histograms,
int  count,
int  seedsFitFailed,
int  seedsTotal 
) const

Definition at line 2637 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), MTVHistoProducerAlgoForTrackerHistograms::h_seedsFitFailed, and MTVHistoProducerAlgoForTrackerHistograms::h_seedsFitFailedFraction.

2640  {
2641  histograms.h_seedsFitFailed[count]->Fill(seedsFitFailed);
2642  histograms.h_seedsFitFailedFraction[count]->Fill(static_cast<double>(seedsFitFailed) / seedsTotal);
2643 }
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
void MTVHistoProducerAlgoForTracker::fill_simAssociated_recoTrack_histos ( const Histograms histograms,
int  count,
const reco::Track track 
) const

Definition at line 2210 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::charge(), reco::TrackBase::chi2(), MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_nhits, MTVHistoProducerAlgoForTrackerHistograms::chi2_vs_pt, KineDebug3::count(), doMTDPlots_, PVValHelper::eta, reco::TrackBase::eta(), getEta(), getPt(), MTVHistoProducerAlgoForTrackerHistograms::h_charge, MTVHistoProducerAlgoForTrackerHistograms::h_hits, MTVHistoProducerAlgoForTrackerHistograms::h_losthits, MTVHistoProducerAlgoForTrackerHistograms::h_nchi2, MTVHistoProducerAlgoForTrackerHistograms::h_nchi2_prob, MTVHistoProducerAlgoForTrackerHistograms::h_nmisslayers_inner, MTVHistoProducerAlgoForTrackerHistograms::h_nmisslayers_outer, reco::TrackBase::hitPattern(), createfilelist::int, reco::HitPattern::MISSING_INNER_HITS, reco::HitPattern::MISSING_OUTER_HITS, reco::TrackBase::momentum(), MTVHistoProducerAlgoForTrackerHistograms::nBTLhits_vs_eta, reco::TrackBase::ndof(), MTVHistoProducerAlgoForTrackerHistograms::nETLhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nLayersWithMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nlosthits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nMTDhits_vs_eta, reco::TrackBase::normalizedChi2(), MTVHistoProducerAlgoForTrackerHistograms::nPXBhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nPXFhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nPXLhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nPXLlayersWithMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPlayersWith1dMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPlayersWith2dMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nSTRIPlayersWithMeas_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTEChits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTIBhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTIDhits_vs_eta, MTVHistoProducerAlgoForTrackerHistograms::nTOBhits_vs_eta, reco::HitPattern::numberOfLostHits(), reco::TrackBase::numberOfLostHits(), reco::TrackBase::numberOfValidHits(), reco::HitPattern::numberOfValidPixelBarrelHits(), reco::HitPattern::numberOfValidPixelEndcapHits(), reco::HitPattern::numberOfValidStripLayersWithMonoAndStereo(), reco::HitPattern::numberOfValidStripTECHits(), reco::HitPattern::numberOfValidStripTIBHits(), reco::HitPattern::numberOfValidStripTIDHits(), reco::HitPattern::numberOfValidStripTOBHits(), reco::HitPattern::numberOfValidTimingBTLHits(), reco::HitPattern::numberOfValidTimingETLHits(), reco::HitPattern::pixelLayersWithMeasurement(), DiDispStaMuonMonitor_cfi::pt, mathSSE::sqrt(), reco::HitPattern::stripLayersWithMeasurement(), reco::HitPattern::trackerLayersWithMeasurement(), and trackFromSeedFitFailed().

2212  {
2213  //nchi2 and hits global distributions
2214  histograms.h_hits[count]->Fill(track.numberOfValidHits());
2215  histograms.h_losthits[count]->Fill(track.numberOfLostHits());
2216  histograms.h_nmisslayers_inner[count]->Fill(
2218  histograms.h_nmisslayers_outer[count]->Fill(
2220  if (trackFromSeedFitFailed(track))
2221  return;
2222 
2223  histograms.h_nchi2[count]->Fill(track.normalizedChi2());
2224  histograms.h_nchi2_prob[count]->Fill(TMath::Prob(track.chi2(), (int)track.ndof()));
2225  histograms.chi2_vs_nhits[count]->Fill(track.numberOfValidHits(), track.normalizedChi2());
2226  histograms.h_charge[count]->Fill(track.charge());
2227 
2228  //chi2 and #hit vs eta: fill 2D histos
2229  const auto eta = getEta(track.eta());
2230  histograms.chi2_vs_eta[count]->Fill(eta, track.normalizedChi2());
2231  histograms.nhits_vs_eta[count]->Fill(eta, track.numberOfValidHits());
2232  const auto pt = getPt(sqrt(track.momentum().perp2()));
2233  histograms.chi2_vs_pt[count]->Fill(pt, track.normalizedChi2());
2234  const auto pxbHits = track.hitPattern().numberOfValidPixelBarrelHits();
2235  const auto pxfHits = track.hitPattern().numberOfValidPixelEndcapHits();
2236  const auto tibHits = track.hitPattern().numberOfValidStripTIBHits();
2237  const auto tidHits = track.hitPattern().numberOfValidStripTIDHits();
2238  const auto tobHits = track.hitPattern().numberOfValidStripTOBHits();
2239  const auto tecHits = track.hitPattern().numberOfValidStripTECHits();
2240  histograms.nPXBhits_vs_eta[count]->Fill(eta, pxbHits);
2241  histograms.nPXFhits_vs_eta[count]->Fill(eta, pxfHits);
2242  histograms.nPXLhits_vs_eta[count]->Fill(eta, pxbHits + pxfHits);
2243  histograms.nTIBhits_vs_eta[count]->Fill(eta, tibHits);
2244  histograms.nTIDhits_vs_eta[count]->Fill(eta, tidHits);
2245  histograms.nTOBhits_vs_eta[count]->Fill(eta, tobHits);
2246  histograms.nTEChits_vs_eta[count]->Fill(eta, tecHits);
2247  histograms.nSTRIPhits_vs_eta[count]->Fill(eta, tibHits + tidHits + tobHits + tecHits);
2248  histograms.nLayersWithMeas_vs_eta[count]->Fill(eta, track.hitPattern().trackerLayersWithMeasurement());
2249  histograms.nPXLlayersWithMeas_vs_eta[count]->Fill(eta, track.hitPattern().pixelLayersWithMeasurement());
2250  if (doMTDPlots_) {
2251  // const auto mtdHits = track.hitPattern().numberOfValidTimingHits();
2252  const auto btlHits = track.hitPattern().numberOfValidTimingBTLHits();
2253  const auto etlHits = track.hitPattern().numberOfValidTimingETLHits();
2254  histograms.nMTDhits_vs_eta[count]->Fill(eta, btlHits + etlHits);
2255  histograms.nBTLhits_vs_eta[count]->Fill(eta, btlHits);
2256  histograms.nETLhits_vs_eta[count]->Fill(eta, etlHits);
2257  }
2258  int LayersAll = track.hitPattern().stripLayersWithMeasurement();
2259  int Layers2D = track.hitPattern().numberOfValidStripLayersWithMonoAndStereo();
2260  int Layers1D = LayersAll - Layers2D;
2261  histograms.nSTRIPlayersWithMeas_vs_eta[count]->Fill(eta, LayersAll);
2262  histograms.nSTRIPlayersWith1dMeas_vs_eta[count]->Fill(eta, Layers1D);
2263  histograms.nSTRIPlayersWith2dMeas_vs_eta[count]->Fill(eta, Layers2D);
2264 
2265  histograms.nlosthits_vs_eta[count]->Fill(eta, track.numberOfLostHits());
2266 }
bool trackFromSeedFitFailed(const reco::Track &track)
double normalizedChi2() const
chi-squared divided by n.d.o.f. (or chi-squared * 1e6 if n.d.o.f. is zero)
Definition: TrackBase.h:572
unsigned short numberOfLostHits() const
number of cases where track crossed a layer without getting a hit.
Definition: TrackBase.h:743
int numberOfValidTimingBTLHits() const
Definition: HitPattern.h:853
int pixelLayersWithMeasurement() const
Definition: HitPattern.cc:492
const Vector & momentum() const
track momentum vector
Definition: TrackBase.h:629
int trackerLayersWithMeasurement() const
Definition: HitPattern.cc:513
int numberOfValidStripTOBHits() const
Definition: HitPattern.h:825
double eta() const
pseudorapidity of momentum vector
Definition: TrackBase.h:617
int numberOfValidStripLayersWithMonoAndStereo(uint16_t stripdet, uint16_t layer) const
Definition: HitPattern.cc:348
int numberOfValidPixelBarrelHits() const
Definition: HitPattern.h:805
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:566
double ndof() const
number of degrees of freedom of the fit
Definition: TrackBase.h:569
T sqrt(T t)
Definition: SSEVec.h:19
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
int numberOfValidStripTIDHits() const
Definition: HitPattern.h:821
unsigned short numberOfValidHits() const
number of valid hits found
Definition: TrackBase.h:740
int numberOfValidStripTECHits() const
Definition: HitPattern.h:829
int numberOfValidTimingETLHits() const
Definition: HitPattern.h:857
const HitPattern & hitPattern() const
Access the hit pattern, indicating in which Tracker layers the track has hits.
Definition: TrackBase.h:483
int stripLayersWithMeasurement() const
Definition: HitPattern.h:975
int numberOfValidStripTIBHits() const
Definition: HitPattern.h:817
int numberOfLostHits(HitCategory category) const
Definition: HitPattern.h:861
int numberOfValidPixelEndcapHits() const
Definition: HitPattern.h:809
int charge() const
track electric charge
Definition: TrackBase.h:575
void MTVHistoProducerAlgoForTracker::fill_simTrackBased_histos ( const Histograms histograms,
int  numSimTracks 
) const

Definition at line 1925 of file MTVHistoProducerAlgoForTracker.cc.

References dqm::impl::MonitorElement::Fill(), and MTVHistoProducerAlgoForTrackerHistograms::h_tracksSIM.

1925  {
1926  histograms.h_tracksSIM->Fill(numSimTracks);
1927 }
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
void MTVHistoProducerAlgoForTracker::fill_trackBased_histos ( const Histograms histograms,
int  count,
int  assTracks,
int  numRecoTracks,
int  numRecoTracksSelected,
int  numSimTracksSelected 
) const

Definition at line 2268 of file MTVHistoProducerAlgoForTracker.cc.

References KineDebug3::count(), MTVHistoProducerAlgoForTrackerHistograms::h_fakes, MTVHistoProducerAlgoForTrackerHistograms::h_tracks, and MTVHistoProducerAlgoForTrackerHistograms::nrec_vs_nsim.

2273  {
2274  histograms.h_tracks[count]->Fill(assTracks);
2275  histograms.h_fakes[count]->Fill(numRecoTracks - assTracks);
2276  if (histograms.nrec_vs_nsim[count])
2277  histograms.nrec_vs_nsim[count]->Fill(numSimTracksSelected, numRecoTracksSelected);
2278 }
virtual void Fill(const reco::Particle::LorentzVector &p1, const reco::Particle::LorentzVector &p2)
Definition: Histograms.h:58
double MTVHistoProducerAlgoForTracker::getEta ( double  eta) const
private
double MTVHistoProducerAlgoForTracker::getPt ( double  pt) const
private
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 2445 of file MTVHistoProducerAlgoForTracker.cc.

References reco::TrackBase::lambda(), reco::TrackBase::lambdaError(), reco::TrackBase::phi(), reco::TrackBase::phiError(), reco::TrackBase::pt(), reco::TrackBase::ptError(), reco::TrackBase::qoverp(), and reco::TrackBase::qoverpError().

Referenced by fill_ResoAndPull_recoTrack_histos().

2453  {
2454  pt = track.pt();
2455  ptError = track.ptError();
2456  qoverp = track.qoverp();
2457  qoverpError = track.qoverpError();
2458  lambda = track.lambda();
2459  lambdaError = track.lambdaError();
2460  phi = track.phi();
2461  phiError = track.phiError();
2462  // cout <<"test1" << endl;
2463 }
double qoverp() const
q / p
Definition: TrackBase.h:578
double phi() const
azimuthal angle of momentum vector
Definition: TrackBase.h:614
double pt() const
track transverse momentum
Definition: TrackBase.h:602
double ptError() const
error on Pt (set to 1000 TeV if charge==0 for safety)
Definition: TrackBase.h:696
double phiError() const
error on phi
Definition: TrackBase.h:713
double lambda() const
Lambda angle.
Definition: TrackBase.h:584
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:693
double lambdaError() const
error on lambda
Definition: TrackBase.h:707
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 2465 of file MTVHistoProducerAlgoForTracker.cc.

References reco::GsfTrack::lambdaMode(), reco::GsfTrack::lambdaModeError(), reco::GsfTrack::phiMode(), reco::GsfTrack::phiModeError(), reco::GsfTrack::ptMode(), reco::GsfTrack::ptModeError(), reco::GsfTrack::qoverpMode(), and reco::GsfTrack::qoverpModeError().

2473  {
2474  pt = gsfTrack.ptMode();
2475  ptError = gsfTrack.ptModeError();
2476  qoverp = gsfTrack.qoverpMode();
2477  qoverpError = gsfTrack.qoverpModeError();
2478  lambda = gsfTrack.lambdaMode();
2479  lambdaError = gsfTrack.lambdaModeError();
2480  phi = gsfTrack.phiMode();
2481  phiError = gsfTrack.phiModeError();
2482  // cout <<"test2" << endl;
2483 }
double phiModeError() const
error on phi from mode
Definition: GsfTrack.h:96
double lambdaMode() const
Lambda angle from mode.
Definition: GsfTrack.h:43
double qoverpMode() const
q/p from mode
Definition: GsfTrack.h:39
double ptModeError() const
error on Pt (set to 1000 TeV if charge==0 for safety) from mode
Definition: GsfTrack.h:81
double qoverpModeError() const
error on signed transverse curvature from mode
Definition: GsfTrack.h:79
double phiMode() const
azimuthal angle of momentum vector from mode
Definition: GsfTrack.h:55
double lambdaModeError() const
error on lambda from mode
Definition: GsfTrack.h:92
double ptMode() const
track transverse momentum from mode
Definition: GsfTrack.h:47
unsigned int MTVHistoProducerAlgoForTracker::getSeedingLayerSetBin ( const reco::Track track,
const TrackerTopology ttopo 
) const
private

Definition at line 2499 of file MTVHistoProducerAlgoForTracker.cc.

References DetId::det(), HLT_2018_cff::distance, Exception, newFWLiteAna::found, mps_fire::i, edm::RefToBase< T >::isAvailable(), edm::RefToBase< T >::isNull(), trackerHitRTTI::isSingle(), TrackerTopology::layer(), LogDebug, nhits, PixelSubdetector::PixelBarrel, GeomDetEnumerators::PixelBarrel, PixelSubdetector::PixelEndcap, GeomDetEnumerators::PixelEndcap, DetId::rawId(), TrajectorySeed::recHits(), SurveyInfoScenario_cff::seed, seedingLayerSetNames, seedingLayerSetToBin, reco::Track::seedRef(), TrackerTopology::side(), DetId::subdetId(), GeomDetEnumerators::TEC, StripSubdetector::TEC, GeomDetEnumerators::TIB, StripSubdetector::TIB, GeomDetEnumerators::TID, StripSubdetector::TID, GeomDetEnumerators::TOB, StripSubdetector::TOB, DetId::Tracker, and relativeConstraints::value.

Referenced by fill_generic_recoTrack_histos().

2500  {
2501  if (track.seedRef().isNull() || !track.seedRef().isAvailable())
2502  return seedingLayerSetNames.size() - 1;
2503 
2504  const TrajectorySeed& seed = *(track.seedRef());
2505  const auto hitRange = seed.recHits();
2506  SeedingLayerSetId searchId;
2507  const int nhits = std::distance(hitRange.first, hitRange.second);
2508  if (nhits > static_cast<int>(std::tuple_size<SeedingLayerSetId>::value)) {
2509  LogDebug("TrackValidator") << "Got seed with " << nhits << " hits, but I have a hard-coded maximum of "
2511  << ", classifying the seed as 'unknown'. Please increase the maximum in "
2512  "MTVHistoProducerAlgoForTracker.h if needed.";
2513  return seedingLayerSetNames.size() - 1;
2514  }
2515  int i = 0;
2516  for (auto iHit = hitRange.first; iHit != hitRange.second; ++iHit, ++i) {
2517  DetId detId = iHit->geographicalId();
2518 
2519  if (detId.det() != DetId::Tracker) {
2520  throw cms::Exception("LogicError") << "Encountered seed hit detId " << detId.rawId() << " not from Tracker, but "
2521  << detId.det();
2522  }
2523 
2525  bool subdetStrip = false;
2526  switch (detId.subdetId()) {
2529  break;
2532  break;
2533  case StripSubdetector::TIB:
2534  subdet = GeomDetEnumerators::TIB;
2535  subdetStrip = true;
2536  break;
2537  case StripSubdetector::TID:
2538  subdet = GeomDetEnumerators::TID;
2539  subdetStrip = true;
2540  break;
2541  case StripSubdetector::TOB:
2542  subdet = GeomDetEnumerators::TOB;
2543  subdetStrip = true;
2544  break;
2545  case StripSubdetector::TEC:
2546  subdet = GeomDetEnumerators::TEC;
2547  subdetStrip = true;
2548  break;
2549  default:
2550  throw cms::Exception("LogicError") << "Unknown subdetId " << detId.subdetId();
2551  };
2552 
2553  TrackerDetSide side = static_cast<TrackerDetSide>(ttopo.side(detId));
2554 
2555  // Even with the recent addition of
2556  // SeedingLayerSetsBuilder::fillDescription() this assumption is a
2557  // bit ugly.
2558  const bool isStripMono = subdetStrip && trackerHitRTTI::isSingle(*iHit);
2559  searchId[i] =
2560  SeedingLayerId(SeedingLayerSetsBuilder::SeedingLayerId(subdet, side, ttopo.layer(detId)), isStripMono);
2561  }
2562  auto found = seedingLayerSetToBin.find(searchId);
2563  if (found == seedingLayerSetToBin.end()) {
2564  return seedingLayerSetNames.size() - 1;
2565  }
2566  return found->second;
2567 }
#define LogDebug(id)
const edm::RefToBase< TrajectorySeed > & seedRef() const
Definition: Track.h:155
static constexpr auto TEC
bool isAvailable() const
Definition: RefToBase.h:119
std::map< SeedingLayerSetId, unsigned int > seedingLayerSetToBin
TrackerDetSide
Definition: TrackerDetSide.h:4
constexpr uint32_t rawId() const
get the raw id
Definition: DetId.h:57
unsigned int side(const DetId &id) const
std::tuple< GeomDetEnumerators::SubDetector, TrackerDetSide, int > SeedingLayerId
std::tuple< SeedingLayerSetsBuilder::SeedingLayerId, bool > SeedingLayerId
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:48
static constexpr auto TOB
std::array< SeedingLayerId, 4 > SeedingLayerSetId
Definition: DetId.h:17
static constexpr auto TIB
bool isSingle(TrackingRecHit const &hit)
bool isNull() const
Checks for null.
Definition: RefToBase.h:295
range recHits() const
unsigned int layer(const DetId &id) const
std::vector< std::string > seedingLayerSetNames
static constexpr auto TID
constexpr Detector det() const
get the detector field from this detid
Definition: DetId.h:46
std::unique_ptr< RecoTrackSelectorBase > MTVHistoProducerAlgoForTracker::makeRecoTrackSelectorFromTPSelectorParameters ( const edm::ParameterSet pset)
static

Definition at line 370 of file MTVHistoProducerAlgoForTracker.cc.

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

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

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

Member Data Documentation

int MTVHistoProducerAlgoForTracker::cotThetaRes_nbin
private
double MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::cotThetaRes_rangeMin
private
const bool MTVHistoProducerAlgoForTracker::doMTDPlots_
private
const bool MTVHistoProducerAlgoForTracker::doSeedPlots_
private
double MTVHistoProducerAlgoForTracker::dxyDzZoom
private
int MTVHistoProducerAlgoForTracker::dxyRes_nbin
private
double MTVHistoProducerAlgoForTracker::dxyRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::dxyRes_rangeMin
private
int MTVHistoProducerAlgoForTracker::dzRes_nbin
private
double MTVHistoProducerAlgoForTracker::dzRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::dzRes_rangeMin
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::generalGpSelector
private

Definition at line 293 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

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

Definition at line 282 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsEta
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPhi
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsPt
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXR
private
std::unique_ptr<GenParticleCustomSelector> MTVHistoProducerAlgoForTracker::GpSelectorForEfficiencyVsVTXZ
private
double MTVHistoProducerAlgoForTracker::maxChi2
private
double MTVHistoProducerAlgoForTracker::maxDeDx
private
double MTVHistoProducerAlgoForTracker::maxdr
private
double MTVHistoProducerAlgoForTracker::maxdrj
private
double MTVHistoProducerAlgoForTracker::maxDxy
private
double MTVHistoProducerAlgoForTracker::maxDz
private
double MTVHistoProducerAlgoForTracker::maxDzpvCum
private
double MTVHistoProducerAlgoForTracker::maxDzpvsigCum
private
double MTVHistoProducerAlgoForTracker::maxEta
private
double MTVHistoProducerAlgoForTracker::maxHit
private
double MTVHistoProducerAlgoForTracker::maxLayers
private
double MTVHistoProducerAlgoForTracker::maxMVA
private
double MTVHistoProducerAlgoForTracker::maxPhi
private
double MTVHistoProducerAlgoForTracker::maxPt
private
double MTVHistoProducerAlgoForTracker::maxPu
private
double MTVHistoProducerAlgoForTracker::maxPVz
private
double MTVHistoProducerAlgoForTracker::maxTracks
private
double MTVHistoProducerAlgoForTracker::maxVertcount
private

Definition at line 333 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

double MTVHistoProducerAlgoForTracker::maxVertpos
private
double MTVHistoProducerAlgoForTracker::maxZpos
private
double MTVHistoProducerAlgoForTracker::minChi2
private

Definition at line 329 of file MTVHistoProducerAlgoForTracker.h.

double MTVHistoProducerAlgoForTracker::minDeDx
private
double MTVHistoProducerAlgoForTracker::mindr
private
double MTVHistoProducerAlgoForTracker::mindrj
private
double MTVHistoProducerAlgoForTracker::minDxy
private
double MTVHistoProducerAlgoForTracker::minDz
private
double MTVHistoProducerAlgoForTracker::minEta
private
double MTVHistoProducerAlgoForTracker::minHit
private
double MTVHistoProducerAlgoForTracker::minLayers
private
double MTVHistoProducerAlgoForTracker::minMVA
private
double MTVHistoProducerAlgoForTracker::minPhi
private
double MTVHistoProducerAlgoForTracker::minPt
private
double MTVHistoProducerAlgoForTracker::minPu
private
double MTVHistoProducerAlgoForTracker::minPVz
private
double MTVHistoProducerAlgoForTracker::minTracks
private
double MTVHistoProducerAlgoForTracker::minVertcount
private

Definition at line 333 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

double MTVHistoProducerAlgoForTracker::minVertpos
private
double MTVHistoProducerAlgoForTracker::minZpos
private
int MTVHistoProducerAlgoForTracker::nintChi2
private
int MTVHistoProducerAlgoForTracker::nintDeDx
private
int MTVHistoProducerAlgoForTracker::nintdr
private
int MTVHistoProducerAlgoForTracker::nintdrj
private
int MTVHistoProducerAlgoForTracker::nintDxy
private
int MTVHistoProducerAlgoForTracker::nintDz
private
int MTVHistoProducerAlgoForTracker::nintDzpvCum
private
int MTVHistoProducerAlgoForTracker::nintDzpvsigCum
private
int MTVHistoProducerAlgoForTracker::nintEta
private
int MTVHistoProducerAlgoForTracker::nintHit
private
int MTVHistoProducerAlgoForTracker::nintLayers
private
int MTVHistoProducerAlgoForTracker::nintMVA
private
int MTVHistoProducerAlgoForTracker::nintPhi
private
int MTVHistoProducerAlgoForTracker::nintPt
private
int MTVHistoProducerAlgoForTracker::nintPu
private
int MTVHistoProducerAlgoForTracker::nintPVz
private
int MTVHistoProducerAlgoForTracker::nintTracks
private
int MTVHistoProducerAlgoForTracker::nintVertcount
private

Definition at line 334 of file MTVHistoProducerAlgoForTracker.h.

Referenced by MTVHistoProducerAlgoForTracker().

int MTVHistoProducerAlgoForTracker::nintVertpos
private
int MTVHistoProducerAlgoForTracker::nintZpos
private
int MTVHistoProducerAlgoForTracker::phiRes_nbin
private
double MTVHistoProducerAlgoForTracker::phiRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::phiRes_rangeMin
private
int MTVHistoProducerAlgoForTracker::ptRes_nbin
private
double MTVHistoProducerAlgoForTracker::ptRes_rangeMax
private
double MTVHistoProducerAlgoForTracker::ptRes_rangeMin
private
std::vector<std::string> MTVHistoProducerAlgoForTracker::seedingLayerSetNames
private
std::map<SeedingLayerSetId, unsigned int> MTVHistoProducerAlgoForTracker::seedingLayerSetToBin
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsEta
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPhi
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsPt
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXR
private
std::unique_ptr<TrackingParticleSelector> MTVHistoProducerAlgoForTracker::TpSelectorForEfficiencyVsVTXZ
private
std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsEta
private
std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsPhi
private
std::unique_ptr<RecoTrackSelectorBase> MTVHistoProducerAlgoForTracker::trackSelectorVsPt
private
bool MTVHistoProducerAlgoForTracker::useFabsEta
private

Definition at line 302 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getEta(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useInvPt
private

Definition at line 305 of file MTVHistoProducerAlgoForTracker.h.

Referenced by getPt(), and MTVHistoProducerAlgoForTracker().

bool MTVHistoProducerAlgoForTracker::useLogPt
private
bool MTVHistoProducerAlgoForTracker::useLogVertpos
private