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  WeightECALIsolation = cms.double(1.), # apply a flat, overall weight to ECAL isolation. Useful to combine charged and neutral isolations with different relative weights. Default 1.
19 
20  applyOccupancyCut = cms.bool(True), # apply a cut on number of isolation objects
21  maximumOccupancy = cms.uint32(0), # no tracks > 1 GeV or gammas > 1.5 GeV allowed
22 
23  applySumPtCut = cms.bool(False), # apply a cut on the sum Pt of the isolation objects
24  maximumSumPtCut = cms.double(6.0),
25 
26  applyRelativeSumPtCut = cms.bool(False), # apply a cut on IsoPt/TotalPt
27  relativeSumPtCut = cms.double(0.0),
28  relativeSumPtOffset = cms.double(0.0),
29 
30  minTauPtForNoIso = cms.double(-99.), # minimum tau pt at which the isolation is completely relaxed. If negative, this is disabled
31 
32  applyPhotonPtSumOutsideSignalConeCut = cms.bool(False),
33  maxAbsPhotonSumPt_outsideSignalCone = cms.double(1.e+9),
34  maxRelPhotonSumPt_outsideSignalCone = cms.double(0.10),
35 
36  qualityCuts = PFTauQualityCuts, # set the standard quality cuts
37 
38  # Delta-Beta corrections to remove Pileup
39  applyDeltaBetaCorrection = cms.bool(False),
40  particleFlowSrc = cms.InputTag("particleFlow"),
41  vertexSrc = PFTauQualityCuts.primaryVertexSrc,
42  # This must correspond to the cone size of the algorithm which built the
43  # tau. (or if customOuterCone option is used, the custom cone size)
44  isoConeSizeForDeltaBeta = cms.double(0.5),
45  # The delta beta factor maps the expected neutral contribution in the
46  # isolation cone from the observed PU charged contribution. This factor can
47  # optionally be a function (use 'x') of the number of vertices in the event
48  # (taken from the multiplicity of vertexSrc collection)
49  deltaBetaFactor = cms.string("0.38"),
50  # By default, the pt threshold for tracks used to compute the DeltaBeta
51  # correction is taken as the gamma Et threshold from the isolation quality
52  # cuts.
53  # Uncommenting the parameter below allows this threshold to be overridden.
54  #deltaBetaPUTrackPtCutOverride = cms.double(1.5),
55 
56  # Tau footprint correction
57  applyFootprintCorrection = cms.bool(False),
58  footprintCorrections = cms.VPSet(
59  cms.PSet(
60  selection = cms.string("decayMode() = 0"),
61  offset = cms.string("0.0")
62  ),
63  cms.PSet(
64  selection = cms.string("decayMode() = 1 || decayMode() = 2"),
65  offset = cms.string("0.0")
66  ),
67  cms.PSet(
68  selection = cms.string("decayMode() = 5"),
69  offset = cms.string("2.7")
70  ),
71  cms.PSet(
72  selection = cms.string("decayMode() = 6"),
73  offset = cms.string("0.0")
74  ),
75  cms.PSet(
76  selection = cms.string("decayMode() = 10"),
77  offset = cms.string("max(2.0, 0.22*pt() - 2.0)")
78  )
79  ),
80 
81  # Rho corrections
82  applyRhoCorrection = cms.bool(False),
83  rhoProducer = cms.InputTag("fixedGridRhoFastjetAll"),
84  rhoConeSize = cms.double(0.5),
85  rhoUEOffsetCorrection = cms.double(1.0),
86  UseAllPFCandsForWeights = cms.bool(False),
87  verbosity = cms.int32(0)
88 
89 )