Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:27:53

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from RecoTauTag.RecoTau.TauDiscriminatorTools import noPrediscriminants
0004 from RecoTauTag.RecoTau.PFRecoTauPFJetInputs_cfi import PFRecoTauPFJetInputs
0005 
0006 minPi0Mass_default = -1.e3
0007 maxPi0Mass_default = 1.e9
0008 assumeStripMass_default = -1.0
0009 
0010 decayMode_1Prong0Pi0 = cms.PSet(
0011     nCharged = cms.uint32(1),
0012     nPiZeros = cms.uint32(0),
0013     nTracksMin = cms.uint32(1),
0014     nChargedPFCandsMin = cms.uint32(1),
0015     # Always passes
0016     # If an PF electron is selected as the lead track, the tau can have
0017     # negative mass. FIXME - investigate this
0018     minMass = cms.double(-1.e3),
0019     maxMass = cms.string("1."),
0020     minPi0Mass = cms.double(minPi0Mass_default),
0021     maxPi0Mass = cms.double(maxPi0Mass_default),
0022     # for XProng0Pi0 decay modes bending corrections are transparent
0023     assumeStripMass = cms.double(assumeStripMass_default),
0024     applyBendCorrection = cms.PSet(
0025         eta = cms.bool(True),
0026         phi = cms.bool(True),
0027         mass = cms.bool(True)
0028     )
0029 )
0030 decayMode_1Prong1Pi0 = cms.PSet(
0031     nCharged = cms.uint32(1),
0032     nPiZeros = cms.uint32(1),
0033     nTracksMin = cms.uint32(1),
0034     nChargedPFCandsMin = cms.uint32(1),
0035     minMass = cms.double(0.3),
0036     maxMass = cms.string("max(1.3, min(1.3*sqrt(pt/100.), 4.2))"),
0037     minPi0Mass = cms.double(minPi0Mass_default),
0038     maxPi0Mass = cms.double(maxPi0Mass_default),
0039     assumeStripMass = cms.double(0.1349),
0040     applyBendCorrection = cms.PSet(
0041         eta = cms.bool(True),
0042         phi = cms.bool(True),
0043         mass = cms.bool(True)
0044     )
0045 )
0046 decayMode_1Prong2Pi0 = cms.PSet(
0047     nCharged = cms.uint32(1),
0048     nPiZeros = cms.uint32(2),
0049     nTracksMin = cms.uint32(1),
0050     nChargedPFCandsMin = cms.uint32(1),
0051     minMass = cms.double(0.4),
0052     maxMass = cms.string("max(1.2, min(1.2*sqrt(pt/100.), 4.0))"),
0053     minPi0Mass = cms.double(0.05),
0054     maxPi0Mass = cms.double(0.2),
0055     # Here the strips are assumed to correspond to photons
0056     assumeStripMass = cms.double(0.0),
0057     applyBendCorrection = cms.PSet(
0058         eta = cms.bool(True),
0059         phi = cms.bool(True),
0060         mass = cms.bool(True)
0061     )
0062 )
0063 decayMode_2Prong0Pi0 = cms.PSet(
0064     nCharged = cms.uint32(2),
0065     nPiZeros = cms.uint32(0),
0066     nTracksMin = cms.uint32(2),
0067     nChargedPFCandsMin = cms.uint32(1),
0068     minMass = cms.double(0.),
0069     maxMass = cms.string("1.2"),
0070     minPi0Mass = cms.double(minPi0Mass_default),
0071     maxPi0Mass = cms.double(maxPi0Mass_default),
0072     # for XProng0Pi0 decay modes bending corrections are transparent
0073     assumeStripMass = cms.double(assumeStripMass_default),
0074     applyBendCorrection = cms.PSet(
0075         eta = cms.bool(False),
0076         phi = cms.bool(False),
0077         mass = cms.bool(False)
0078     )
0079 )
0080 decayMode_2Prong1Pi0 = cms.PSet(
0081     nCharged = cms.uint32(2),
0082     nPiZeros = cms.uint32(1),
0083     nTracksMin = cms.uint32(2),
0084     nChargedPFCandsMin = cms.uint32(1),
0085     minMass = cms.double(0.),
0086     maxMass = cms.string("max(1.2, min(1.2*sqrt(pt/100.), 4.0))"),
0087     minPi0Mass = cms.double(minPi0Mass_default),
0088     maxPi0Mass = cms.double(maxPi0Mass_default),
0089     assumeStripMass = cms.double(assumeStripMass_default),
0090     applyBendCorrection = cms.PSet(
0091         eta = cms.bool(False),
0092         phi = cms.bool(False),
0093         mass = cms.bool(False)
0094     )
0095 )
0096 decayMode_3Prong0Pi0 = cms.PSet(
0097     nCharged = cms.uint32(3),
0098     nPiZeros = cms.uint32(0),
0099     nTracksMin = cms.uint32(2),
0100     nChargedPFCandsMin = cms.uint32(1),
0101     minMass = cms.double(0.8),
0102     maxMass = cms.string("1.5"),
0103     minPi0Mass = cms.double(minPi0Mass_default),
0104     maxPi0Mass = cms.double(maxPi0Mass_default),
0105     assumeStripMass = cms.double(assumeStripMass_default),
0106     applyBendCorrection = cms.PSet(
0107         eta = cms.bool(False),
0108         phi = cms.bool(False),
0109         mass = cms.bool(False)
0110     )
0111 )
0112 decayMode_3Prong1Pi0 = cms.PSet( #suggestions made by CV
0113     nCharged = cms.uint32(3),
0114     nPiZeros = cms.uint32(1),
0115     nTracksMin = cms.uint32(2),
0116     nChargedPFCandsMin = cms.uint32(1),
0117     minMass = cms.double(0.9),
0118     maxMass = cms.string("1.6"),
0119     minPi0Mass = cms.double(minPi0Mass_default),
0120     maxPi0Mass = cms.double(maxPi0Mass_default),
0121     # for XProng0Pi0 decay modes bending corrections are transparent
0122     assumeStripMass = cms.double(assumeStripMass_default),
0123     applyBendCorrection = cms.PSet(
0124         eta = cms.bool(False),
0125         phi = cms.bool(False),
0126         mass = cms.bool(False)
0127     )
0128 )
0129 
0130 hpsSelectionDiscriminator = cms.EDProducer(
0131     "PFRecoTauDiscriminationByHPSSelection",
0132     PFTauProducer = cms.InputTag('combinatoricRecoTaus'),
0133     Prediscriminants = noPrediscriminants,
0134     matchingCone = PFRecoTauPFJetInputs.jetConeSize,
0135     minTauPt = cms.double(0.0),
0136     decayModes = cms.VPSet(
0137         decayMode_1Prong0Pi0,
0138         decayMode_1Prong1Pi0,
0139         decayMode_1Prong2Pi0,
0140         decayMode_2Prong0Pi0,
0141         decayMode_2Prong1Pi0,
0142         decayMode_3Prong0Pi0,
0143     decayMode_3Prong1Pi0
0144     ),
0145     requireTauChargedHadronsToBeChargedPFCands = cms.bool(False),
0146     # CV: require at least one pixel hit for the sum of all tracks
0147     minPixelHits = cms.int32(1),
0148     verbosity = cms.int32(0)
0149 )
0150 
0151 
0152