CMS 3D CMS Logo

MultiTrackValidator_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
7 
8 multiTrackValidator = cms.EDAnalyzer(
9  "MultiTrackValidator",
10 
11  ### general settings ###
12  # selection of TP for evaluation of efficiency #
13  TrackingParticleSelectionForEfficiency,
14 
15  # HistoProducerAlgo. Defines the set of plots to be booked and filled
16  histoProducerAlgoBlock = MTVHistoProducerAlgoForTrackerBlock,
17 
18  # set true if you do not want that MTV launch an exception
19  # if the track collectio is missing (e.g. HLT):
20  ignoremissingtrackcollection=cms.untracked.bool(False),
21 
22  useGsf=cms.bool(False),
23 
24 
25  ### matching configuration ###
26  # Example of TP-Track map
27  associators = cms.untracked.VInputTag("trackingParticleRecoTrackAsssociation"),
28  # Example of associator
29  #associators = cms.untracked.VInputTag("quickTrackAssociatorByHits"),
30  # if False, the src's above should specify the TP-RecoTrack association
31  # if True, the src's above should specify the associator
32  UseAssociators = cms.bool(False),
33 
34  ### sim input configuration ###
35  label_tp_effic = cms.InputTag("mix","MergedTrackTruth"),
36  label_tp_fake = cms.InputTag("mix","MergedTrackTruth"),
37  label_tp_effic_refvector = cms.bool(False),
38  label_tp_fake_refvector = cms.bool(False),
39  label_tv = cms.InputTag("mix","MergedTrackTruth"),
40  label_pileupinfo = cms.InputTag("addPileupInfo"),
41  sim = cms.VInputTag(
42  cms.InputTag("g4SimHits", "TrackerHitsPixelBarrelLowTof"),
43  cms.InputTag("g4SimHits", "TrackerHitsPixelBarrelHighTof"),
44  cms.InputTag("g4SimHits", "TrackerHitsPixelEndcapLowTof"),
45  cms.InputTag("g4SimHits", "TrackerHitsPixelEndcapHighTof"),
46  cms.InputTag("g4SimHits", "TrackerHitsTIBLowTof"),
47  cms.InputTag("g4SimHits", "TrackerHitsTIBHighTof"),
48  cms.InputTag("g4SimHits", "TrackerHitsTIDLowTof"),
49  cms.InputTag("g4SimHits", "TrackerHitsTIDHighTof"),
50  cms.InputTag("g4SimHits", "TrackerHitsTOBLowTof"),
51  cms.InputTag("g4SimHits", "TrackerHitsTOBHighTof"),
52  cms.InputTag("g4SimHits", "TrackerHitsTECLowTof"),
53  cms.InputTag("g4SimHits", "TrackerHitsTECHighTof"),
54  ),
55  parametersDefiner = cms.string('LhcParametersDefinerForTP'), # collision like tracks
56  # parametersDefiner = cms.string('CosmicParametersDefinerForTP'), # cosmics tracks
57  simHitTpMapTag = cms.InputTag("simHitTPAssocProducer"), # needed by CosmicParametersDefinerForTP
58 
59  label_tp_nlayers = cms.InputTag("trackingParticleNumberOfLayersProducer", "trackerLayers"),
60  label_tp_npixellayers = cms.InputTag("trackingParticleNumberOfLayersProducer", "pixelLayers"),
61  label_tp_nstripstereolayers = cms.InputTag("trackingParticleNumberOfLayersProducer", "stripStereoLayers"),
62 
63  ### reco input configuration ###
64  label = cms.VInputTag(cms.InputTag("generalTracks")),
65  beamSpot = cms.InputTag("offlineBeamSpot"),
66 
67  ### selection MVA
68  mvaLabels = cms.untracked.PSet(),
69 
70  ### dE/dx configuration ###
71  dEdx1Tag = cms.InputTag("dedxHarmonic2"),
72  dEdx2Tag = cms.InputTag("dedxTruncated40"),
73 
74  ### output configuration
75  dirName = cms.string('Tracking/Track/'),
76 
77  ### for fake rate vs dR ###
78  # True=use collection below; False=use "label" collection itself
79  calculateDrSingleCollection = cms.untracked.bool(True),
80  trackCollectionForDrCalculation = cms.InputTag("generalTracks"),
81 
82  ### Do plots only if first reco vertex is from hard scatter?
83  doPlotsOnlyForTruePV = cms.untracked.bool(False),
84  label_vertex = cms.untracked.InputTag("offlinePrimaryVertices"),
85  vertexAssociator = cms.untracked.InputTag("VertexAssociatorByPositionAndTracks"),
86 
87  simPVMaxZ = cms.untracked.double(-1),
88 
89  ### Allow switching off particular histograms
90  doSummaryPlots = cms.untracked.bool(True),
91  doSimPlots = cms.untracked.bool(True),
92  doSimTrackPlots = cms.untracked.bool(True),
93  doRecoTrackPlots = cms.untracked.bool(True),
94  dodEdxPlots = cms.untracked.bool(False),
95  doPVAssociationPlots = cms.untracked.bool(False), # do plots that require true PV, if True, label_vertex and vertexAssociator are read
96  doSeedPlots = cms.untracked.bool(False), # input comes from TrackFromSeedProducer
97  doMVAPlots = cms.untracked.bool(False), # needs input from track MVA selectors
98 
99  ### do resolution plots only for these labels (or all if empty)
100  doResolutionPlotsForLabels = cms.VInputTag(),
101 
102  cores = cms.InputTag("highPtJetsForTrk"), #ak4CaloJets with pt>1 TeV
103 )
104 
105 from Configuration.Eras.Modifier_fastSim_cff import fastSim
106 fastSim.toModify(multiTrackValidator, sim = ['fastSimProducer:TrackerHits'])
107 
108 from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
109 premix_stage2.toModify(multiTrackValidator,
110  label_tp_effic = "mixData:MergedTrackTruth",
111  label_tp_fake = "mixData:MergedTrackTruth",
112  label_tv = "mixData:MergedTrackTruth",
113 )