30 std::unique_ptr<tau::RecoTauQualityCuts>
qcuts_;
57 const CandidatePtr leadingTrack = tau->leadChargedHadrCand();
62 qcuts_->setLeadTrack(*tau->leadChargedHadrCand());
64 for(
auto const&
cand : tau->signalChargedHadrCands() ) {
71 if(np == 1 || np == 3) accepted =
true;
73 if(np >=
minN && np <=
maxN) accepted =
true;
88 pset_signalQualityCuts.
add<
double>(
"maxDeltaZ", 0.4);
89 pset_signalQualityCuts.
add<
double>(
"minTrackPt", 0.5);
90 pset_signalQualityCuts.
add<
double>(
"minTrackVertexWeight", -1.0);
91 pset_signalQualityCuts.
add<
double>(
"maxTrackChi2", 100.0);
92 pset_signalQualityCuts.
add<
unsigned int>(
"minTrackPixelHits", 0);
93 pset_signalQualityCuts.
add<
double>(
"minGammaEt", 1.0);
94 pset_signalQualityCuts.
add<
unsigned int>(
"minTrackHits", 3);
95 pset_signalQualityCuts.
add<
double>(
"minNeutralHadronEt", 30.0);
96 pset_signalQualityCuts.
add<
double>(
"maxTransverseImpactParameter", 0.1);
97 pset_signalQualityCuts.
addOptional<
bool>(
"useTracksInsteadOfPFHadrons");
100 pset_vxAssocQualityCuts.
add<
double>(
"minTrackPt", 0.5);
101 pset_vxAssocQualityCuts.add<
double>(
"minTrackVertexWeight", -1.0);
102 pset_vxAssocQualityCuts.add<
double>(
"maxTrackChi2", 100.0);
103 pset_vxAssocQualityCuts.add<
unsigned int>(
"minTrackPixelHits", 0);
104 pset_vxAssocQualityCuts.add<
double>(
"minGammaEt", 1.0);
105 pset_vxAssocQualityCuts.add<
unsigned int>(
"minTrackHits", 3);
106 pset_vxAssocQualityCuts.add<
double>(
"maxTransverseImpactParameter", 0.1);
107 pset_vxAssocQualityCuts.addOptional<
bool>(
"useTracksInsteadOfPFHadrons");
110 pset_isolationQualityCuts.
add<
double>(
"maxDeltaZ", 0.2);
111 pset_isolationQualityCuts.add<
double>(
"minTrackPt", 1.0);
112 pset_isolationQualityCuts.add<
double>(
"minTrackVertexWeight", -1.0);
113 pset_isolationQualityCuts.add<
double>(
"maxTrackChi2", 100.0);
114 pset_isolationQualityCuts.add<
unsigned int>(
"minTrackPixelHits", 0);
115 pset_isolationQualityCuts.add<
double>(
"minGammaEt", 1.5);
116 pset_isolationQualityCuts.add<
unsigned int>(
"minTrackHits", 8);
117 pset_isolationQualityCuts.add<
double>(
"maxTransverseImpactParameter", 0.03);
118 pset_isolationQualityCuts.addOptional<
bool>(
"useTracksInsteadOfPFHadrons");
124 pset_qualityCuts.
add<
std::string>(
"leadingTrkOrPFCandOption",
"leadPFCand");
125 pset_qualityCuts.add<
std::string>(
"pvFindingAlgo",
"closestInDeltaZ");
127 pset_qualityCuts.add<
bool>(
"vertexTrackFiltering",
false);
128 pset_qualityCuts.add<
bool>(
"recoverLeadingTrk",
false);
139 desc.
add<
bool>(
"BooleanOutput",
true);
141 desc.
add<
unsigned int>(
"MinN", 1);
142 desc.
add<
unsigned int>(
"MaxN", 0);
143 descriptions.
add(
"pfRecoTauDiscriminationByNProngs", desc);
T getParameter(std::string const &) const
ParameterDescriptionBase * addOptional(U const &iLabel, T const &value)
bool isNonnull() const
Checks for non-null.
double discriminate(const reco::PFTauRef &) const override
~PFRecoTauDiscriminationByNProngs() override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterSet const & getParameterSet(ParameterSetID const &id)
std::unique_ptr< tau::RecoTauVertexAssociator > vertexAssociator_
#define DEFINE_FWK_MODULE(type)
ParameterDescriptionBase * add(U const &iLabel, T const &value)
bool isNonnull() const
Checks for non-null.
void beginEvent(const edm::Event &, const edm::EventSetup &) override
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
ParameterSet const & getParameterSet(std::string const &) const
bool accepted(std::vector< std::string_view > const &, std::string_view)
PFRecoTauDiscriminationByNProngs(const ParameterSet &)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
edm::ParameterSet qualityCuts
std::unique_ptr< tau::RecoTauQualityCuts > qcuts_