7 ChargedHadronsAssociationCone_ = parameters.
getParameter<
double>(
"ChargedHadrCand_AssociationCone");
8 ChargedHadrCand_tkminPt_ = parameters.
getParameter<
double>(
"ChargedHadrCand_tkminPt");
9 ChargedHadrCand_tkminPixelHitsn_ = parameters.
getParameter<
int>(
"ChargedHadrCand_tkminPixelHitsn");
10 ChargedHadrCand_tkminTrackerHitsn_ = parameters.
getParameter<
int>(
"ChargedHadrCand_tkminTrackerHitsn");
11 ChargedHadrCand_tkmaxipt_ = parameters.
getParameter<
double>(
"ChargedHadrCand_tkmaxipt");
12 ChargedHadrCand_tkmaxChi2_ = parameters.
getParameter<
double>(
"ChargedHadrCand_tkmaxChi2");
14 NeutrHadrCand_HcalclusMinEt_ = parameters.
getParameter<
double>(
"NeutrHadrCand_HcalclusMinEt");
16 GammaCand_EcalclusMinEt_ = parameters.
getParameter<
double>(
"GammaCand_EcalclusMinEt");
19 tkminPixelHitsn_ = parameters.
getParameter<
int>(
"tkminPixelHitsn");
20 tkminTrackerHitsn_ = parameters.
getParameter<
int>(
"tkminTrackerHitsn");
22 tkmaxChi2_ = parameters.
getParameter<
double>(
"tkmaxChi2");
24 UsePVconstraint_ = parameters.
getParameter<
bool>(
"UsePVconstraint");
25 ChargedHadrCand_tkPVmaxDZ_ = parameters.
getParameter<
double>(
"ChargedHadrCand_tkPVmaxDZ");
26 tkPVmaxDZ_ = parameters.
getParameter<
double>(
"tkPVmaxDZ");
33 std::vector<reco::CandidatePtr> thePFCands;
34 const float jetPhi = (*thePFJet).phi();
35 const float jetEta = (*thePFJet).eta();
37 for (
auto iPFCand : thePFCandsInEvent){
38 float delta = dr2((*iPFCand).phi(),(*iPFCand).eta());
39 if (delta < ChargedHadronsAssociationCone_*ChargedHadronsAssociationCone_) thePFCands.push_back(iPFCand);
41 bool pvIsFake = (thePV.
z() < -500.);
43 std::vector<reco::CandidatePtr> theFilteredPFChargedHadrCands;
44 if (UsePVconstraint_ && !pvIsFake) theFilteredPFChargedHadrCands=
TauTagTools::filteredPFChargedHadrCands(thePFCands,ChargedHadrCand_tkminPt_,ChargedHadrCand_tkminPixelHitsn_,ChargedHadrCand_tkminTrackerHitsn_,ChargedHadrCand_tkmaxipt_,ChargedHadrCand_tkmaxChi2_,ChargedHadrCand_tkPVmaxDZ_, thePV, thePV.
z());
45 else theFilteredPFChargedHadrCands=
TauTagTools::filteredPFChargedHadrCands(thePFCands,ChargedHadrCand_tkminPt_,ChargedHadrCand_tkminPixelHitsn_,ChargedHadrCand_tkminTrackerHitsn_,ChargedHadrCand_tkmaxipt_,ChargedHadrCand_tkmaxChi2_, thePV);
51 if (UsePVconstraint_ && !pvIsFake) theFilteredTracks=
TauTagTools::filteredTracks(theTracks,tkminPt_,tkminPixelHitsn_,tkminTrackerHitsn_,tkmaxipt_,tkmaxChi2_,tkPVmaxDZ_,thePV, thePV.
z());
52 else theFilteredTracks=
TauTagTools::filteredTracks(theTracks,tkminPt_,tkminPixelHitsn_,tkminTrackerHitsn_,tkmaxipt_,tkmaxChi2_,thePV);
53 resultExtended.
setTracks(theFilteredTracks);
55 return resultExtended;
T getParameter(std::string const &) const
void setpfjetRef(const JetBaseRef)
void setPFChargedHadrCands(const std::vector< reco::CandidatePtr > &)
void setTracks(const TrackRefVector &)
void setPFNeutrHadrCands(const std::vector< reco::CandidatePtr > &)
PFRecoTauTagInfoAlgorithm()
double z() const
z coordinate
constexpr auto deltaR2(const T1 &t1, const T2 &t2) -> decltype(t1.eta())
void setPFGammaCands(const std::vector< reco::CandidatePtr > &)
reco::PFTauTagInfo buildPFTauTagInfo(const reco::JetBaseRef &, const std::vector< reco::CandidatePtr > &, const reco::TrackRefVector &, const reco::Vertex &) const