CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
PFRecoTauTagInfoAlgorithm Class Reference

#include <PFRecoTauTagInfoAlgorithm.h>

Public Member Functions

reco::PFTauTagInfo buildPFTauTagInfo (const reco::PFJetRef &, const reco::PFCandidateRefVector &, const reco::TrackRefVector &, const reco::Vertex &)
 
 PFRecoTauTagInfoAlgorithm ()
 
 PFRecoTauTagInfoAlgorithm (const edm::ParameterSet &)
 
 ~PFRecoTauTagInfoAlgorithm ()
 

Private Attributes

double ChargedHadrCand_tkmaxChi2_
 
double ChargedHadrCand_tkmaxipt_
 
int ChargedHadrCand_tkminPixelHitsn_
 
double ChargedHadrCand_tkminPt_
 
int ChargedHadrCand_tkminTrackerHitsn_
 
double ChargedHadrCand_tkPVmaxDZ_
 
double ChargedHadronsAssociationCone_
 
double GammaCand_EcalclusMinEt_
 
double NeutrHadrCand_HcalclusMinEt_
 
double tkmaxChi2_
 
double tkmaxipt_
 
int tkminPixelHitsn_
 
double tkminPt_
 
int tkminTrackerHitsn_
 
double tkPVmaxDZ_
 
bool UsePVconstraint_
 

Detailed Description

Definition at line 15 of file PFRecoTauTagInfoAlgorithm.h.

Constructor & Destructor Documentation

PFRecoTauTagInfoAlgorithm::PFRecoTauTagInfoAlgorithm ( )
inline

Definition at line 17 of file PFRecoTauTagInfoAlgorithm.h.

17 {}
PFRecoTauTagInfoAlgorithm::PFRecoTauTagInfoAlgorithm ( const edm::ParameterSet parameters)

Definition at line 5 of file PFRecoTauTagInfoAlgorithm.cc.

References edm::ParameterSet::getParameter().

5  {
6  // parameters of the considered charged hadr. PFCandidates, based on their rec. tk properties :
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");
13  // parameters of the considered neutral hadr. PFCandidates, based on their rec. HCAL clus. properties :
14  NeutrHadrCand_HcalclusMinEt_ = parameters.getParameter<double>("NeutrHadrCand_HcalclusMinEt");
15  // parameters of the considered gamma PFCandidates, based on their rec. ECAL clus. properties :
16  GammaCand_EcalclusMinEt_ = parameters.getParameter<double>("GammaCand_EcalclusMinEt");
17  // parameters of the considered rec. Tracks (these ones catched through a JetTracksAssociation object, not through the charged hadr. PFCandidates inside the PFJet ; the motivation for considering them is the need for checking that a selection by the charged hadr. PFCandidates is equivalent to a selection by the rec. Tracks.) :
18  tkminPt_ = parameters.getParameter<double>("tkminPt");
19  tkminPixelHitsn_ = parameters.getParameter<int>("tkminPixelHitsn");
20  tkminTrackerHitsn_ = parameters.getParameter<int>("tkminTrackerHitsn");
21  tkmaxipt_ = parameters.getParameter<double>("tkmaxipt");
22  tkmaxChi2_ = parameters.getParameter<double>("tkmaxChi2");
23  //
24  UsePVconstraint_ = parameters.getParameter<bool>("UsePVconstraint");
25  ChargedHadrCand_tkPVmaxDZ_ = parameters.getParameter<double>("ChargedHadrCand_tkPVmaxDZ");
26  tkPVmaxDZ_ = parameters.getParameter<double>("tkPVmaxDZ");
27 }
T getParameter(std::string const &) const
PFRecoTauTagInfoAlgorithm::~PFRecoTauTagInfoAlgorithm ( )
inline

Definition at line 19 of file PFRecoTauTagInfoAlgorithm.h.

19 {}

Member Function Documentation

PFTauTagInfo PFRecoTauTagInfoAlgorithm::buildPFTauTagInfo ( const reco::PFJetRef thePFJet,
const reco::PFCandidateRefVector thePFCandsInEvent,
const reco::TrackRefVector theTracks,
const reco::Vertex thePV 
)

Definition at line 29 of file PFRecoTauTagInfoAlgorithm.cc.

References delta, reco::deltaR2(), eta(), TauTagTools::filteredPFChargedHadrCands(), TauTagTools::filteredPFGammaCands(), TauTagTools::filteredPFNeutrHadrCands(), TauTagTools::filteredTracks(), reco::btau::jetEta, reco::btau::jetPhi, phi, edm::RefVector< C, T, F >::push_back(), reco::PFTauTagInfo::setPFChargedHadrCands(), reco::PFTauTagInfo::setPFGammaCands(), reco::PFTauTagInfo::setpfjetRef(), reco::PFTauTagInfo::setPFNeutrHadrCands(), reco::BaseTauTagInfo::setTracks(), and reco::Vertex::z().

29  {
30  PFTauTagInfo resultExtended;
31  resultExtended.setpfjetRef(thePFJet);
32 
33  PFCandidateRefVector thePFCands;
34  const float jetPhi = (*thePFJet).phi();
35  const float jetEta = (*thePFJet).eta();
36  auto dr2 = [jetPhi,jetEta](float phi, float eta) { return reco::deltaR2(jetEta,jetPhi,eta,phi);};
37  for (auto iPFCand : thePFCandsInEvent){
38  float delta = dr2((*iPFCand).phi(),(*iPFCand).eta());
40  }
41  bool pvIsFake = (thePV.z() < -500.);
42 
43  PFCandidateRefVector theFilteredPFChargedHadrCands;
46  resultExtended.setPFChargedHadrCands(theFilteredPFChargedHadrCands);
49 
50  TrackRefVector theFilteredTracks;
51  if (UsePVconstraint_ && !pvIsFake) theFilteredTracks=TauTagTools::filteredTracks(theTracks,tkminPt_,tkminPixelHitsn_,tkminTrackerHitsn_,tkmaxipt_,tkmaxChi2_,tkPVmaxDZ_,thePV, thePV.z());
53  resultExtended.setTracks(theFilteredTracks);
54 
55  return resultExtended;
56 }
dbl * delta
Definition: mlp_gen.cc:36
reco::PFCandidateRefVector filteredPFGammaCands(reco::PFCandidateRefVector theInitialPFCands, double GammaCand_EcalclusMinEt)
Definition: TauTagTools.cc:171
reco::TrackRefVector filteredTracks(reco::TrackRefVector theInitialTracks, double tkminPt, int tkminPixelHitsn, int tkminTrackerHitsn, double tkmaxipt, double tkmaxChi2, reco::Vertex pV)
Definition: TauTagTools.cc:77
T eta() const
void setTracks(const TrackRefVector)
reco::PFCandidateRefVector filteredPFNeutrHadrCands(reco::PFCandidateRefVector theInitialPFCands, double NeutrHadrCand_HcalclusMinEt)
Definition: TauTagTools.cc:158
void setPFGammaCands(const PFCandidateRefVector)
Definition: PFTauTagInfo.cc:20
void setPFChargedHadrCands(const PFCandidateRefVector)
Definition: PFTauTagInfo.cc:16
double z() const
y coordinate
Definition: Vertex.h:99
double deltaR2(double eta1, double phi1, double eta2, double phi2)
Definition: deltaR.h:13
reco::PFCandidateRefVector filteredPFChargedHadrCands(reco::PFCandidateRefVector theInitialPFCands, double ChargedHadrCand_tkminPt, int ChargedHadrCand_tkminPixelHitsn, int ChargedHadrCand_tkminTrackerHitsn, double ChargedHadrCand_tkmaxipt, double ChargedHadrCand_tkmaxChi2, reco::Vertex pV)
Definition: TauTagTools.cc:119
void setpfjetRef(const PFJetRef)
Definition: PFTauTagInfo.cc:23
void setPFNeutrHadrCands(const PFCandidateRefVector)
Definition: PFTauTagInfo.cc:18
void push_back(value_type const &ref)
Add a Ref&lt;C, T&gt; to the RefVector.
Definition: RefVector.h:64
Definition: DDAxes.h:10

Member Data Documentation

double PFRecoTauTagInfoAlgorithm::ChargedHadrCand_tkmaxChi2_
private

Definition at line 26 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::ChargedHadrCand_tkmaxipt_
private

Definition at line 25 of file PFRecoTauTagInfoAlgorithm.h.

int PFRecoTauTagInfoAlgorithm::ChargedHadrCand_tkminPixelHitsn_
private

Definition at line 23 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::ChargedHadrCand_tkminPt_
private

Definition at line 22 of file PFRecoTauTagInfoAlgorithm.h.

int PFRecoTauTagInfoAlgorithm::ChargedHadrCand_tkminTrackerHitsn_
private

Definition at line 24 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::ChargedHadrCand_tkPVmaxDZ_
private

Definition at line 27 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::ChargedHadronsAssociationCone_
private

Definition at line 32 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::GammaCand_EcalclusMinEt_
private

Definition at line 31 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::NeutrHadrCand_HcalclusMinEt_
private

Definition at line 29 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::tkmaxChi2_
private

Definition at line 38 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::tkmaxipt_
private

Definition at line 37 of file PFRecoTauTagInfoAlgorithm.h.

int PFRecoTauTagInfoAlgorithm::tkminPixelHitsn_
private

Definition at line 35 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::tkminPt_
private

Definition at line 34 of file PFRecoTauTagInfoAlgorithm.h.

int PFRecoTauTagInfoAlgorithm::tkminTrackerHitsn_
private

Definition at line 36 of file PFRecoTauTagInfoAlgorithm.h.

double PFRecoTauTagInfoAlgorithm::tkPVmaxDZ_
private

Definition at line 39 of file PFRecoTauTagInfoAlgorithm.h.

bool PFRecoTauTagInfoAlgorithm::UsePVconstraint_
private

Definition at line 41 of file PFRecoTauTagInfoAlgorithm.h.