CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
isolatedTracks_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 from TrackingTools.TrackAssociator.default_cfi import TrackAssociatorParameterBlock
3 
4 tkAssocParamBlock = TrackAssociatorParameterBlock.clone()
5 tkAssocParamBlock.TrackAssociatorParameters.useMuon = cms.bool(False)
6 tkAssocParamBlock.TrackAssociatorParameters.useCalo = cms.bool(False)
7 tkAssocParamBlock.TrackAssociatorParameters.useHO = cms.bool(False)
8 tkAssocParamBlock.TrackAssociatorParameters.usePreshower = cms.bool(False)
9 tkAssocParamBlock.TrackAssociatorParameters.EERecHitCollectionLabel = cms.InputTag("reducedEcalRecHitsEE")
10 tkAssocParamBlock.TrackAssociatorParameters.EBRecHitCollectionLabel = cms.InputTag("reducedEcalRecHitsEB")
11 tkAssocParamBlock.TrackAssociatorParameters.HBHERecHitCollectionLabel = cms.InputTag("reducedHcalRecHits","hbhereco")
12 tkAssocParamBlock.TrackAssociatorParameters.HORecHitCollectionLabel = cms.InputTag("reducedHcalRecHits","horeco")
13 
14 _susySoftDisappearingTrackCut = (
15  "pt > 10. && (pt > 15. || hitPattern().pixelLayersWithMeasurement() == hitPattern().trackerLayersWithMeasurement()) && "+
16  " abs(dxy) < 0.02 && abs(dz) < 0.1 && "+
17  " (miniPFIsolation().chargedHadronIso()/pt < 0.2) && "+
18  " !(pfLepOverlap) && "+
19  " pfNeutralSum/pt < 0.2"
20 )
21 _exoHighPtTrackCut = (
22  "pt > 50 && "+
23  " isHighPurityTrack && "+
24  " abs(dxy) < 0.5 && abs(dz) < 0.5 && "+
25  " (miniPFIsolation().chargedHadronIso()/pt < 1.0 || pt > 100)"
26 )
27 isolatedTracks = cms.EDProducer("PATIsolatedTrackProducer",
28  tkAssocParamBlock,
29  packedPFCandidates = cms.InputTag("packedPFCandidates"),
30  lostTracks = cms.InputTag("lostTracks"),
31  generalTracks = cms.InputTag("generalTracks"),
32  primaryVertices = cms.InputTag("offlinePrimaryVertices"),
33  caloJets = cms.InputTag("ak4CaloJets"),
34  dEdxDataStrip = cms.InputTag("dedxHarmonic2"),
35  dEdxDataPixel = cms.InputTag("dedxPixelHarmonic2"),
36  dEdxHitInfo = cms.InputTag("dedxHitInfo"),
37  dEdxHitInfoPrescale = cms.InputTag("dedxHitInfo","prescale"),
38  addPrescaledDeDxTracks = cms.bool(False),
39  usePrecomputedDeDxStrip = cms.bool(True), # if these are set to True, will get estimated DeDx from DeDxData branches
40  usePrecomputedDeDxPixel = cms.bool(True), # if set to False, will manually compute using dEdxHitInfo
41  pT_cut = cms.double(5.0), # save tracks above this pt
42  pT_cut_noIso = cms.double(20.0), # for tracks with at least this pT, don't apply any iso cut
43  pfIsolation_DR = cms.double(0.3),
44  pfIsolation_DZ = cms.double(0.1),
45  miniIsoParams = cms.vdouble(0.05, 0.2, 10.0), # (minDR, maxDR, kT)
46  # dR for miniiso is max(minDR, min(maxDR, kT/pT))
47  absIso_cut = cms.double(5.0),
48  relIso_cut = cms.double(0.2),
49  miniRelIso_cut = cms.double(0.2),
50 
51  caloJet_DR = cms.double(0.3),
52 
53  pflepoverlap_DR = cms.double(0.001),
54  pflepoverlap_pTmin = cms.double(5.0),
55 
56  pcRefNearest_DR = cms.double(0.3),
57  pcRefNearest_pTmin = cms.double(5.0),
58 
59  pfneutralsum_DR = cms.double(0.05),
60 
61  useHighPurity = cms.bool(False),
62 
63  saveDeDxHitInfo = cms.bool(True),
64  saveDeDxHitInfoCut = cms.string("(%s) || (%s)" % (_susySoftDisappearingTrackCut,_exoHighPtTrackCut)),
65 )
66 
67 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
68 pp_on_AA.toModify(isolatedTracks, useHighPurity = True)
69 
71  """Switch off dE/dx hit info on fast sim, as it's not available"""
72  process.isolatedTracks.saveDeDxHitInfo = False
73  return process
def miniAOD_customizeIsolatedTracksFastSim