test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFRecoTauDiscriminationByIsolation_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from RecoTauTag.RecoTau.PFRecoTauQualityCuts_cfi import PFTauQualityCuts
4 from RecoTauTag.RecoTau.TauDiscriminatorTools import requireLeadTrack
5 
6 pfRecoTauDiscriminationByIsolation = cms.EDProducer("PFRecoTauDiscriminationByIsolation",
7  PFTauProducer = cms.InputTag('pfRecoTauProducer'), #tau collection to discriminate
8 
9  # Require leading pion ensures that:
10  # 1) these is at least one track above threshold (0.5 GeV) in the signal cone
11  # 2) a track in the signal cone has pT > 5 GeV
12  Prediscriminants = requireLeadTrack,
13 
14  # Select which collections to use for isolation. You can select one or both
15  ApplyDiscriminationByECALIsolation = cms.bool(True), # use PFGammas when isolating
16  ApplyDiscriminationByTrackerIsolation = cms.bool(True), # use PFChargedHadr when isolating
17  ApplyDiscriminationByWeightedECALIsolation = cms.bool(False), #do not use pileup weighting of neutral deposits by default
18 
19  applyOccupancyCut = cms.bool(True), # apply a cut on number of isolation objects
20  maximumOccupancy = cms.uint32(0), # no tracks > 1 GeV or gammas > 1.5 GeV allowed
21 
22  applySumPtCut = cms.bool(False), # apply a cut on the sum Pt of the isolation objects
23  maximumSumPtCut = cms.double(6.0),
24 
25  applyRelativeSumPtCut = cms.bool(False), # apply a cut on IsoPt/TotalPt
26  relativeSumPtCut = cms.double(0.0),
27  relativeSumPtOffset = cms.double(0.0),
28 
29  minTauPtForNoIso = cms.double(-99.), # minimum tau pt at which the isolation is completely relaxed. If negative, this is disabled
30 
31  applyPhotonPtSumOutsideSignalConeCut = cms.bool(False),
32  maxAbsPhotonSumPt_outsideSignalCone = cms.double(1.e+9),
33  maxRelPhotonSumPt_outsideSignalCone = cms.double(0.10),
34 
35  qualityCuts = PFTauQualityCuts, # set the standard quality cuts
36 
37  # Delta-Beta corrections to remove Pileup
38  applyDeltaBetaCorrection = cms.bool(False),
39  particleFlowSrc = cms.InputTag("particleFlow"),
40  vertexSrc = PFTauQualityCuts.primaryVertexSrc,
41  # This must correspond to the cone size of the algorithm which built the
42  # tau. (or if customOuterCone option is used, the custom cone size)
43  isoConeSizeForDeltaBeta = cms.double(0.5),
44  # The delta beta factor maps the expected neutral contribution in the
45  # isolation cone from the observed PU charged contribution. This factor can
46  # optionally be a function (use 'x') of the number of vertices in the event
47  # (taken from the multiplicity of vertexSrc collection)
48  deltaBetaFactor = cms.string("0.38"),
49  # By default, the pt threshold for tracks used to compute the DeltaBeta
50  # correction is taken as the gamma Et threshold from the isolation quality
51  # cuts.
52  # Uncommenting the parameter below allows this threshold to be overridden.
53  #deltaBetaPUTrackPtCutOverride = cms.double(1.5),
54 
55  # Tau footprint correction
56  applyFootprintCorrection = cms.bool(False),
57  footprintCorrections = cms.VPSet(
58  cms.PSet(
59  selection = cms.string("decayMode() = 0"),
60  offset = cms.string("0.0")
61  ),
62  cms.PSet(
63  selection = cms.string("decayMode() = 1 || decayMode() = 2"),
64  offset = cms.string("0.0")
65  ),
66  cms.PSet(
67  selection = cms.string("decayMode() = 5"),
68  offset = cms.string("2.7")
69  ),
70  cms.PSet(
71  selection = cms.string("decayMode() = 6"),
72  offset = cms.string("0.0")
73  ),
74  cms.PSet(
75  selection = cms.string("decayMode() = 10"),
76  offset = cms.string("max(2.0, 0.22*pt() - 2.0)")
77  )
78  ),
79 
80  # Rho corrections
81  applyRhoCorrection = cms.bool(False),
82  rhoProducer = cms.InputTag("fixedGridRhoFastjetAll"),
83  rhoConeSize = cms.double(0.5),
84  rhoUEOffsetCorrection = cms.double(1.0),
85  UseAllPFCandsForWeights = cms.bool(False),
86  verbosity = cms.int32(0)
87 
88 )