CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/RecoTauTag/RecoTau/python/CaloRecoTauDiscriminationForChargedHiggs_cfi.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 import copy
00003 
00004 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByLeadingTrackFinding_cfi import *
00005 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByLeadingTrackPtCut_cfi import *
00006 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByCharge_cfi import *
00007 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByECALIsolation_cfi import *
00008 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationAgainstElectron_cfi import *
00009 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationAgainstMuon_cfi import *
00010 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByTauPolarization_cfi import *
00011 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByDeltaE_cfi import *
00012 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByInvMass_cfi import *
00013 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByFlightPathSignificance_cfi import *
00014 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByNProngs_cfi import *
00015 from RecoTauTag.RecoTau.CaloRecoTauDiscriminationByTrackIsolation_cfi import *
00016 
00017 def addCaloDiscriminator(process, tau, name, module):
00018     module.CaloTauProducer = cms.InputTag(tau+"Producer")
00019     process.__setattr__(tau+name, module)
00020     return module
00021 
00022 def addCaloDiscriminatorSequence(process, tau):
00023     lst = []
00024 
00025     lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsByLeadingTrackPtCut",
00026                                 caloRecoTauDiscriminationByLeadingTrackPtCut.clone(
00027                                    MinPtLeadingObject = cms.double(20.0),
00028                                    )))
00029 
00030     lst.append(addCaloDiscriminator(process, tau, "DiscriminationByCharge", 
00031                                 caloRecoTauDiscriminationByCharge.clone()))
00032 
00033     # index -1 points to the last element in the list
00034     lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsByECALIsolation", 
00035                                 caloRecoTauDiscriminationByECALIsolation.clone()))
00036     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00037 
00038     lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsAgainstMuon",
00039                                 caloRecoTauDiscriminationAgainstMuon.clone()))
00040     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00041 
00042     lst.append(addCaloDiscriminator(process, tau, "DiscriminationByTauPolarization",
00043                                 caloRecoTauDiscriminationByTauPolarization.clone()))
00044     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00045 
00046     lst.append(addCaloDiscriminator(process, tau, "DiscriminationByDeltaE",
00047                                 caloRecoTauDiscriminationByDeltaE.clone()))
00048     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00049     
00050     lst.append(addCaloDiscriminator(process, tau, "DiscriminationByInvMass",
00051                                 caloRecoTauDiscriminationByInvMass.clone()))
00052     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00053 
00054     lst.append(addCaloDiscriminator(process, tau, "DiscriminationByFlightPathSignificance",
00055                                 caloRecoTauDiscriminationByFlightPathSignificance.clone()))
00056     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00057 
00058     lst.append(addCaloDiscriminator(process, tau, "DiscriminationBy1Prong",
00059                                 caloRecoTauDiscriminationByNProngs.clone(
00060                                   nProngs = cms.uint32(1)
00061                                   )))
00062     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00063 
00064     lst.append(addCaloDiscriminator(process, tau, "DiscriminationBy3Prongs",
00065                                 caloRecoTauDiscriminationByNProngs.clone(
00066                                   nProngs = cms.uint32(3)
00067                                   )))
00068     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00069 
00070     lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsBy3ProngCombined",
00071                                 caloRecoTauDiscriminationByNProngs.clone(
00072                                   nProngs = cms.uint32(3),
00073                                   Prediscriminants = cms.PSet(
00074                                        BooleanOperator = cms.string("and"),
00075                                        leadTrack = cms.PSet(
00076                                            Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding'),
00077                                            cut = cms.double(0.5)
00078                                        ),
00079                                        deltaE = cms.PSet(
00080                                            Producer = cms.InputTag(tau+'DiscriminationByDeltaE'),
00081                                            cut = cms.double(0.5)
00082                                        ),
00083                                        invMass = cms.PSet(
00084                                            Producer = cms.InputTag(tau+'DiscriminationByInvMass'),
00085                                            cut = cms.double(0.5)
00086                                        ),
00087                                        flightPathSig = cms.PSet(
00088                                            Producer = cms.InputTag(tau+'DiscriminationByFlightPathSignificance'),
00089                                            cut = cms.double(0.5)
00090                                        )
00091                                   )
00092                                 )))
00093     lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00094 
00095     lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsBy1or3Prongs",
00096                                 caloRecoTauDiscriminationByLeadingTrackFinding.clone(
00097                                     Prediscriminants = cms.PSet(
00098                                         BooleanOperator = cms.string("or"),
00099                                         oneProng = cms.PSet(
00100                                             Producer = cms.InputTag(tau+'DiscriminationBy1Prong'),
00101                                             cut = cms.double(0.5)
00102                                         ),
00103                                         threeProng = cms.PSet(
00104                                             Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsBy3ProngCombined'),
00105                                             cut = cms.double(0.5)
00106                                         )
00107                                     )
00108                                 )))
00109     lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggs",
00110                                 caloRecoTauDiscriminationByTrackIsolation.clone(
00111                                      Prediscriminants = cms.PSet(
00112                                         BooleanOperator = cms.string("and"),
00113                                         leadingTrack = cms.PSet(
00114                                             Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsByLeadingTrackPtCut'),
00115                                             cut = cms.double(0.5)
00116                                         ),
00117                                         charge = cms.PSet(
00118                                             Producer = cms.InputTag(tau+'DiscriminationByCharge'),
00119                                             cut = cms.double(0.5)
00120                                         ),
00121                                         ecalIsolation = cms.PSet(
00122                                             Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsByECALIsolation'),
00123                                             cut = cms.double(0.5)
00124                                         ),
00125                                         electronVeto = cms.PSet(
00126                                             Producer = cms.InputTag(tau+'DiscriminationAgainstElectron'),
00127                                             cut = cms.double(0.5)
00128                                         ),
00129                                         polarization = cms.PSet(
00130                                             Producer = cms.InputTag(tau+'DiscriminationByTauPolarization'),
00131                                             cut = cms.double(0.5)
00132                                         ),
00133                                         prongs = cms.PSet(
00134                                             Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsBy1or3Prongs'),
00135                                             cut = cms.double(0.5)
00136                                         )
00137                                     )
00138                                 )))
00139 
00140     sequence = cms.Sequence()
00141     for m in lst:
00142         sequence *= m
00143 
00144     process.__setattr__(tau+"HplusDiscriminationSequence", sequence)
00145     return sequence
00146 
00147 def addCaloTauDiscriminationSequenceForChargedHiggs(process):
00148     process.CaloTauDiscriminationSequenceForChargedHiggs = cms.Sequence(
00149         addCaloDiscriminatorSequence(process, "caloRecoTau")
00150     )
00151 
00152     return process.CaloTauDiscriminationSequenceForChargedHiggs