21 booleanOutput = iConfig.
getParameter<
bool>(
"BooleanOutput");
27 double discriminate(
const PFTauRef&)
const override;
45 && tau->leadChargedHadrCand().
isNonnull()) {
46 rTau = tau->leadChargedHadrCand()->p()/tau->p();
49 if(booleanOutput)
return ( rTau > rTauMin ? 1. : 0. );
57 desc.
add<
double>(
"rtau", 0.8);
59 desc.
add<
bool>(
"BooleanOutput",
true);
64 pset_signalQualityCuts.
add<
double>(
"maxDeltaZ", 0.4);
65 pset_signalQualityCuts.
add<
double>(
"minTrackPt", 0.5);
66 pset_signalQualityCuts.
add<
double>(
"minTrackVertexWeight", -1.0);
67 pset_signalQualityCuts.
add<
double>(
"maxTrackChi2", 100.0);
68 pset_signalQualityCuts.
add<
unsigned int>(
"minTrackPixelHits", 0);
69 pset_signalQualityCuts.
add<
double>(
"minGammaEt", 1.0);
70 pset_signalQualityCuts.
add<
unsigned int>(
"minTrackHits", 3);
71 pset_signalQualityCuts.
add<
double>(
"minNeutralHadronEt", 30.0);
72 pset_signalQualityCuts.
add<
double>(
"maxTransverseImpactParameter", 0.1);
73 pset_signalQualityCuts.
addOptional<
bool>(
"useTracksInsteadOfPFHadrons");
76 pset_vxAssocQualityCuts.
add<
double>(
"minTrackPt", 0.5);
77 pset_vxAssocQualityCuts.add<
double>(
"minTrackVertexWeight", -1.0);
78 pset_vxAssocQualityCuts.add<
double>(
"maxTrackChi2", 100.0);
79 pset_vxAssocQualityCuts.add<
unsigned int>(
"minTrackPixelHits", 0);
80 pset_vxAssocQualityCuts.add<
double>(
"minGammaEt", 1.0);
81 pset_vxAssocQualityCuts.add<
unsigned int>(
"minTrackHits", 3);
82 pset_vxAssocQualityCuts.add<
double>(
"maxTransverseImpactParameter", 0.1);
83 pset_vxAssocQualityCuts.addOptional<
bool>(
"useTracksInsteadOfPFHadrons");
86 pset_isolationQualityCuts.
add<
double>(
"maxDeltaZ", 0.2);
87 pset_isolationQualityCuts.add<
double>(
"minTrackPt", 1.0);
88 pset_isolationQualityCuts.add<
double>(
"minTrackVertexWeight", -1.0);
89 pset_isolationQualityCuts.add<
double>(
"maxTrackChi2", 100.0);
90 pset_isolationQualityCuts.add<
unsigned int>(
"minTrackPixelHits", 0);
91 pset_isolationQualityCuts.add<
double>(
"minGammaEt", 1.5);
92 pset_isolationQualityCuts.add<
unsigned int>(
"minTrackHits", 8);
93 pset_isolationQualityCuts.add<
double>(
"maxTransverseImpactParameter", 0.03);
94 pset_isolationQualityCuts.addOptional<
bool>(
"useTracksInsteadOfPFHadrons");
100 pset_qualityCuts.
add<
std::string>(
"leadingTrkOrPFCandOption",
"leadPFCand");
101 pset_qualityCuts.add<
std::string>(
"pvFindingAlgo",
"closestInDeltaZ");
103 pset_qualityCuts.add<
bool>(
"vertexTrackFiltering",
false);
104 pset_qualityCuts.add<
bool>(
"recoverLeadingTrk",
false);
114 psd1.
add<
double>(
"cut");
121 descriptions.
add(
"pfRecoTauDiscriminationByTauPolarization", desc);
T getParameter(std::string const &) const
ParameterDescriptionBase * addOptional(U const &iLabel, T const &value)
bool isNonnull() const
Checks for non-null.
PFRecoTauDiscriminationByTauPolarization(const ParameterSet &iConfig)
void beginEvent(const Event &, const EventSetup &) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
double discriminate(const PFTauRef &) const override
#define DEFINE_FWK_MODULE(type)
~PFRecoTauDiscriminationByTauPolarization() override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void add(std::string const &label, ParameterSetDescription const &psetDescription)