00023 :
00024 lst = []
00025
00026 lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsByLeadingTrackPtCut",
00027 caloRecoTauDiscriminationByLeadingTrackPtCut.clone(
00028 MinPtLeadingObject = cms.double(20.0),
00029 )))
00030
00031 lst.append(addCaloDiscriminator(process, tau, "DiscriminationByCharge",
00032 caloRecoTauDiscriminationByCharge.clone()))
00033
00034
00035 lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsByECALIsolation",
00036 caloRecoTauDiscriminationByECALIsolation.clone()))
00037 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00038
00039 lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsAgainstMuon",
00040 caloRecoTauDiscriminationAgainstMuon.clone()))
00041 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00042
00043 lst.append(addCaloDiscriminator(process, tau, "DiscriminationByTauPolarization",
00044 caloRecoTauDiscriminationByTauPolarization.clone()))
00045 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00046
00047 lst.append(addCaloDiscriminator(process, tau, "DiscriminationByDeltaE",
00048 caloRecoTauDiscriminationByDeltaE.clone()))
00049 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00050
00051 lst.append(addCaloDiscriminator(process, tau, "DiscriminationByInvMass",
00052 caloRecoTauDiscriminationByInvMass.clone()))
00053 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00054
00055 lst.append(addCaloDiscriminator(process, tau, "DiscriminationByFlightPathSignificance",
00056 caloRecoTauDiscriminationByFlightPathSignificance.clone()))
00057 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00058
00059 lst.append(addCaloDiscriminator(process, tau, "DiscriminationBy1Prong",
00060 caloRecoTauDiscriminationByNProngs.clone(
00061 nProngs = cms.uint32(1)
00062 )))
00063 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00064
00065 lst.append(addCaloDiscriminator(process, tau, "DiscriminationBy3Prongs",
00066 caloRecoTauDiscriminationByNProngs.clone(
00067 nProngs = cms.uint32(3)
00068 )))
00069 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00070
00071 lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsBy3ProngCombined",
00072 caloRecoTauDiscriminationByNProngs.clone(
00073 nProngs = cms.uint32(3),
00074 Prediscriminants = cms.PSet(
00075 BooleanOperator = cms.string("and"),
00076 leadTrack = cms.PSet(
00077 Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding'),
00078 cut = cms.double(0.5)
00079 ),
00080 deltaE = cms.PSet(
00081 Producer = cms.InputTag(tau+'DiscriminationByDeltaE'),
00082 cut = cms.double(0.5)
00083 ),
00084 invMass = cms.PSet(
00085 Producer = cms.InputTag(tau+'DiscriminationByInvMass'),
00086 cut = cms.double(0.5)
00087 ),
00088 flightPathSig = cms.PSet(
00089 Producer = cms.InputTag(tau+'DiscriminationByFlightPathSignificance'),
00090 cut = cms.double(0.5)
00091 )
00092 )
00093 )))
00094 lst[-1].Prediscriminants.leadTrack.Producer = cms.InputTag(tau+'DiscriminationByLeadingTrackFinding')
00095
00096 lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggsBy1or3Prongs",
00097 caloRecoTauDiscriminationByLeadingTrackFinding.clone(
00098 Prediscriminants = cms.PSet(
00099 BooleanOperator = cms.string("or"),
00100 oneProng = cms.PSet(
00101 Producer = cms.InputTag(tau+'DiscriminationBy1Prong'),
00102 cut = cms.double(0.5)
00103 ),
00104 threeProng = cms.PSet(
00105 Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsBy3ProngCombined'),
00106 cut = cms.double(0.5)
00107 )
00108 )
00109 )))
00110 lst.append(addCaloDiscriminator(process, tau, "DiscriminationForChargedHiggs",
00111 caloRecoTauDiscriminationByTrackIsolation.clone(
00112 Prediscriminants = cms.PSet(
00113 BooleanOperator = cms.string("and"),
00114 leadingTrack = cms.PSet(
00115 Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsByLeadingTrackPtCut'),
00116 cut = cms.double(0.5)
00117 ),
00118 charge = cms.PSet(
00119 Producer = cms.InputTag(tau+'DiscriminationByCharge'),
00120 cut = cms.double(0.5)
00121 ),
00122 ecalIsolation = cms.PSet(
00123 Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsByECALIsolation'),
00124 cut = cms.double(0.5)
00125 ),
00126 electronVeto = cms.PSet(
00127 Producer = cms.InputTag(tau+'DiscriminationAgainstElectron'),
00128 cut = cms.double(0.5)
00129 ),
00130 polarization = cms.PSet(
00131 Producer = cms.InputTag(tau+'DiscriminationByTauPolarization'),
00132 cut = cms.double(0.5)
00133 ),
00134 prongs = cms.PSet(
00135 Producer = cms.InputTag(tau+'DiscriminationForChargedHiggsBy1or3Prongs'),
00136 cut = cms.double(0.5)
00137 )
00138 )
00139 )))
00140
00141 sequence = cms.Sequence()
00142 for m in lst:
00143 sequence *= m
00144
00145 process.__setattr__(tau+"HplusDiscriminationSequence", sequence)
00146 return sequence