CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PFTau.cc
Go to the documentation of this file.
4 
5 //using namespace std;
6 namespace reco {
7 
9 {
14  emFraction_ = NAN;
15  hcalTotOverPLead_ = NAN;
16  hcalMaxOverPLead_ = NAN;
17  hcal3x3OverPLead_ = NAN;
22  caloComp_ = NAN;
23  segComp_ = NAN;
24  muonDecision_ = NAN;
25  decayMode_ = kNull;
26  bendCorrMass_ = 0.;
27  signalConeSize_ = 0.;
28 }
29 
30 PFTau::PFTau(Charge q, const LorentzVector& p4, const Point& vtx)
31  : BaseTau(q, p4, vtx)
32 {
37 
38  emFraction_ = NAN;
39  hcalTotOverPLead_ = NAN;
40  hcalMaxOverPLead_ = NAN;
41  hcal3x3OverPLead_ = NAN;
46 
47  caloComp_ = NAN;
48  segComp_ = NAN;
49  muonDecision_ = NAN;
50  decayMode_ = kNull;
51  bendCorrMass_ = 0.;
52  signalConeSize_ = 0.;
53 }
54 
55 PFTau* PFTau::clone() const { return new PFTau(*this); }
56 
57 // Constituent getters and setters
58 const PFJetRef& PFTau::jetRef() const { return jetRef_; }
59 void PFTau::setjetRef(const PFJetRef& x) { jetRef_ = x; }
60 
62  return PFTauTagInfoRef_;
63 }
64 
66 
69 const PFCandidatePtr& PFTau::leadPFCand() const { return leadPFCand_; }
70 
73 void PFTau::setleadPFCand(const PFCandidatePtr& myLead) { leadPFCand_ = myLead;}
74 
77 
78 const std::vector<PFCandidatePtr>& PFTau::signalPFCands() const { return selectedSignalPFCands_; }
79 void PFTau::setsignalPFCands(const std::vector<PFCandidatePtr>& myParts) { selectedSignalPFCands_ = myParts; }
80 const std::vector<PFCandidatePtr>& PFTau::signalPFChargedHadrCands() const { return selectedSignalPFChargedHadrCands_; }
81 void PFTau::setsignalPFChargedHadrCands(const std::vector<PFCandidatePtr>& myParts) { selectedSignalPFChargedHadrCands_ = myParts; }
82 const std::vector<PFCandidatePtr>& PFTau::signalPFNeutrHadrCands() const {return selectedSignalPFNeutrHadrCands_; }
83 void PFTau::setsignalPFNeutrHadrCands(const std::vector<PFCandidatePtr>& myParts) { selectedSignalPFNeutrHadrCands_ = myParts; }
84 const std::vector<PFCandidatePtr>& PFTau::signalPFGammaCands() const { return selectedSignalPFGammaCands_; }
85 void PFTau::setsignalPFGammaCands(const std::vector<PFCandidatePtr>& myParts) { selectedSignalPFGammaCands_ = myParts; }
86 
87 const std::vector<PFCandidatePtr>& PFTau::isolationPFCands() const { return selectedIsolationPFCands_; }
88 void PFTau::setisolationPFCands(const std::vector<PFCandidatePtr>& myParts) { selectedIsolationPFCands_ = myParts;}
89 const std::vector<PFCandidatePtr>& PFTau::isolationPFChargedHadrCands() const { return selectedIsolationPFChargedHadrCands_; }
90 void PFTau::setisolationPFChargedHadrCands(const std::vector<PFCandidatePtr>& myParts) { selectedIsolationPFChargedHadrCands_ = myParts; }
91 const std::vector<PFCandidatePtr>& PFTau::isolationPFNeutrHadrCands() const { return selectedIsolationPFNeutrHadrCands_; }
92 void PFTau::setisolationPFNeutrHadrCands(const std::vector<PFCandidatePtr>& myParts) { selectedIsolationPFNeutrHadrCands_ = myParts; }
93 const std::vector<PFCandidatePtr>& PFTau::isolationPFGammaCands() const { return selectedIsolationPFGammaCands_; }
94 void PFTau::setisolationPFGammaCands(const std::vector<PFCandidatePtr>& myParts) { selectedIsolationPFGammaCands_ = myParts; }
95 
96 
97 namespace {
98  template<typename T, typename U>
99  void setCache( const T& iFrom, const edm::AtomicPtrCache<U>& oCache) {
100  if ( not oCache.isSet()) {
101  // Fill them from the refs
102  auto temp = std::make_unique<U>();
103  temp->reserve(iFrom.size());
104  for ( auto const& ref: iFrom ) {
105  temp->push_back(*ref);
106  }
107  oCache.set(std::move(temp));
108  }
109  }
110 
111  template<typename T>
112  T& makeCacheIfNeeded(edm::AtomicPtrCache<T>& oCache) {
113  if(not oCache.isSet()) {
114  oCache.set(std::move(std::make_unique<T>()));
115  }
116  return *oCache;
117  }
118 
119  template<typename T>
120  void copyToCache(T&& iFrom, edm::AtomicPtrCache<T>& oCache) {
121  oCache.reset();
122  oCache.set( std::make_unique<T>(std::move(iFrom)));
123  }
124 }
125 
126 // PiZero and decay mode information
127 const std::vector<RecoTauPiZero>& PFTau::signalPiZeroCandidates() const {
128  // Check if the signal pi zeros are already filled
130  return *signalPiZeroCandidates_;
131 }
132 
133 std::vector<RecoTauPiZero>& PFTau::signalPiZeroCandidatesRestricted() {
134  // Check if the signal pi zeros are already filled
135  return makeCacheIfNeeded(signalPiZeroCandidates_);
136 }
137 
138 void PFTau::setsignalPiZeroCandidates(std::vector<RecoTauPiZero> cands) {
139  copyToCache(std::move(cands), signalPiZeroCandidates_);
140 }
141 
144 }
145 
146 const std::vector<RecoTauPiZero>& PFTau::isolationPiZeroCandidates() const {
147  // Check if the signal pi zeros are already filled
150 }
151 
152 std::vector<RecoTauPiZero>& PFTau::isolationPiZeroCandidatesRestricted() {
153  // Check if the signal pi zeros are already filled
154  return makeCacheIfNeeded(isolationPiZeroCandidates_);
155 }
156 
159 }
160 
161 void PFTau::setisolationPiZeroCandidates(std::vector<RecoTauPiZero> cands) {
162  copyToCache(std::move(cands), signalPiZeroCandidates_);
163 }
164 
165 // Tau Charged Hadron information
169  } else {
170  return PFRecoTauChargedHadronRef();
171  }
172 }
173 
174 const std::vector<PFRecoTauChargedHadron>& PFTau::signalTauChargedHadronCandidates() const {
175  // Check if the signal tau charged hadrons are already filled
178 }
179 
180 std::vector<PFRecoTauChargedHadron>& PFTau::signalTauChargedHadronCandidatesRestricted() {
181  // Check if the signal tau charged hadrons are already filled
182  return makeCacheIfNeeded(signalTauChargedHadronCandidates_);
183 }
184 
185 void PFTau::setSignalTauChargedHadronCandidates(std::vector<PFRecoTauChargedHadron> cands) {
186  copyToCache(std::move(cands), signalTauChargedHadronCandidates_);
187 }
188 
191 }
192 
193 const std::vector<PFRecoTauChargedHadron>& PFTau::isolationTauChargedHadronCandidates() const {
194  // Check if the isolation tau charged hadrons are already filled
197 }
198 
199 std::vector<PFRecoTauChargedHadron>& PFTau::isolationTauChargedHadronCandidatesRestricted() {
200  // Check if the isolation tau charged hadrons are already filled
201  return makeCacheIfNeeded(isolationTauChargedHadronCandidates_);
202 }
203 
204 void PFTau::setIsolationTauChargedHadronCandidates(std::vector<PFRecoTauChargedHadron> cands) {
206 }
207 
210 }
211 
213 
215 
216 // Setting information about the isolation region
219 
222 
225 
226 // Electron variables
227 float PFTau::emFraction() const {return emFraction_;}
236 
237 void PFTau::setemFraction(const float& x) {emFraction_ = x;}
246 
247 // Muon variables
248 bool PFTau::hasMuonReference() const { // check if muon ref exists
249  if( leadPFChargedHadrCand_.isNull() ) return false;
250  else if( leadPFChargedHadrCand_.isNonnull() ){
251  reco::MuonRef muonRef = leadPFChargedHadrCand_->muonRef();
252  if( muonRef.isNull() ) return false;
253  else if( muonRef.isNonnull() ) return true;
254  }
255  return false;
256 }
257 
258 float PFTau::caloComp() const {return caloComp_;}
259 float PFTau::segComp() const {return segComp_;}
260 bool PFTau::muonDecision() const {return muonDecision_;}
261 void PFTau::setCaloComp(const float& x) {caloComp_ = x;}
262 void PFTau::setSegComp (const float& x) {segComp_ = x;}
263 void PFTau::setMuonDecision(const bool& x) {muonDecision_ = x;}
264 
266  if ( i!=0 ) return CandidatePtr();
267  return refToPtr(jetRef());
268 }
269 
270 
271 bool PFTau::overlap(const Candidate& theCand) const {
272  const RecoCandidate* theRecoCand = dynamic_cast<const RecoCandidate *>(&theCand);
273  return (theRecoCand!=0 && (checkOverlap(track(), theRecoCand->track())));
274 }
275 
276 void PFTau::dump(std::ostream& out) const {
277 
278  if(!out) return;
279 
280  if (pfTauTagInfoRef().isNonnull()) {
281  out << "Its TauTagInfo constituents :"<<std::endl;
282  out<<"# Tracks "<<pfTauTagInfoRef()->Tracks().size()<<std::endl;
283  out<<"# PF charged hadr. cand's "<<pfTauTagInfoRef()->PFChargedHadrCands().size()<<std::endl;
284  out<<"# PF neutral hadr. cand's "<<pfTauTagInfoRef()->PFNeutrHadrCands().size()<<std::endl;
285  out<<"# PF gamma cand's "<<pfTauTagInfoRef()->PFGammaCands().size()<<std::endl;
286  }
287  if (jetRef().isNonnull()) {
288  out << "Its constituents :"<< std::endl;
289  out<<"# PF charged hadr. cand's "<< jetRef()->chargedHadronMultiplicity()<<std::endl;
290  out<<"# PF neutral hadr. cand's "<< jetRef()->neutralHadronMultiplicity()<<std::endl;
291  out<<"# PF gamma cand's "<< jetRef()->photonMultiplicity()<<std::endl;
292  out<<"# Electron cand's "<< jetRef()->electronMultiplicity()<<std::endl;
293  }
294  out<<"in detail :"<<std::endl;
295 
296  out<<"Pt of the PFTau "<<pt()<<std::endl;
297  const PFCandidatePtr& theLeadPFCand = leadPFChargedHadrCand();
298  if(!theLeadPFCand){
299  out<<"No Lead PFCand "<<std::endl;
300  }else{
301  out<<"Lead PFCand Particle Id " << (*theLeadPFCand).particleId() << std::endl;
302  out<<"Lead PFCand Pt "<<(*theLeadPFCand).pt()<<std::endl;
303  out<<"Lead PFCand Charge "<<(*theLeadPFCand).charge()<<std::endl;
304  out<<"Lead PFCand TrkRef "<<(*theLeadPFCand).trackRef().isNonnull()<<std::endl;
305  out<<"Inner point position (x,y,z) of the PFTau ("<<vx()<<","<<vy()<<","<<vz()<<")"<<std::endl;
306  out<<"Charge of the PFTau "<<charge()<<std::endl;
307  out<<"Et of the highest Et HCAL PFCluster "<<maximumHCALPFClusterEt()<<std::endl;
308  out<<"Number of SignalPFChargedHadrCands = "<<signalPFChargedHadrCands().size()<<std::endl;
309  out<<"Number of SignalPFGammaCands = "<<signalPFGammaCands().size()<<std::endl;
310  out<<"Number of IsolationPFChargedHadrCands = "<<isolationPFChargedHadrCands().size()<<std::endl;
311  out<<"Number of IsolationPFGammaCands = "<<isolationPFGammaCands().size()<<std::endl;
312  out<<"Sum of Pt of charged hadr. PFCandidates in isolation annulus around Lead PF = "<<isolationPFChargedHadrCandsPtSum()<<std::endl;
313  out<<"Sum of Et of gamma PFCandidates in other isolation annulus around Lead PF = "<<isolationPFGammaCandsEtSum()<<std::endl;
314 
315  }
316  // return out;
317 }
318 
319 std::ostream& operator<<(std::ostream& out, const reco::PFTau& tau) {
320 
321  if(!out) return out;
322 
323  out << std::setprecision(3)
324  <<"PFTau "
325  << " charge: " << tau.charge() << " "
326  << " pt:" <<tau.pt()<<" "
327  << " eta:" <<tau.eta()<<" "
328  << " phi:" <<tau.phi()<<" "
329  << " mass:" << tau.mass() << " "
330  << " dm: " << tau.decayMode() << " "
331  <<tau.signalPFCands().size()<<","
332  <<tau.signalPFChargedHadrCands().size()<<","
333  <<tau.signalPFGammaCands().size()<<","
334  <<tau.signalPiZeroCandidates().size()<<","
335  <<tau.signalPFNeutrHadrCands().size()<<" "
336 
337  <<tau.isolationPFCands().size()<<","
338  <<tau.isolationPFChargedHadrCands().size()<<","
339  <<tau.isolationPFGammaCands().size()<<","
340  <<tau.isolationPiZeroCandidates().size()<<","
341  <<tau.isolationPFNeutrHadrCands().size();
342 
343  return out;
344 }
345 
346 }
float ecalStripSumEOverPLead_
Definition: PFTau.h:233
bool hasMuonReference() const
Definition: PFTau.cc:248
float maximumHCALPFClusterEt() const
Et of the highest Et HCAL PFCluster.
Definition: PFTau.cc:223
void setisolationPiZeroCandidates(std::vector< RecoTauPiZero >)
Definition: PFTau.cc:161
int Charge
electric charge type
Definition: Candidate.h:35
void setSignalTauChargedHadronCandidatesRefs(PFRecoTauChargedHadronRefVector)
Definition: PFTau.cc:189
bool checkOverlap(const R &r1, const R &r2) const
check if two components overlap
Definition: RecoCandidate.h:69
int i
Definition: DBlmapReader.cc:9
std::vector< reco::PFCandidatePtr > selectedIsolationPFNeutrHadrCands_
Definition: PFTau.h:263
RecoTauPiZeroRefVector signalPiZeroCandidatesRefs_
Definition: PFTau.h:266
void setMuonDecision(const bool &)
Definition: PFTau.cc:263
void setelectronPreIDOutput(const float &)
Definition: PFTau.cc:244
float isolationPFGammaCandsEtSum() const
Definition: PFTau.cc:220
std::vector< reco::PFCandidatePtr > selectedSignalPFCands_
Definition: PFTau.h:255
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:252
const PFJetRef & jetRef() const
Definition: PFTau.cc:58
const std::vector< reco::PFCandidatePtr > & isolationPFCands() const
PFCandidates in isolation region.
Definition: PFTau.cc:87
Ptr< typename C::value_type > refToPtr(Ref< C, typename C::value_type, refhelper::FindUsingAdvance< C, typename C::value_type > > const &ref)
Definition: RefToPtr.h:18
float isolationPFChargedHadrCandsPtSum() const
Definition: PFTau.cc:217
void setleadPFChargedHadrCand(const PFCandidatePtr &)
Definition: PFTau.cc:71
void setleadPFNeutralCand(const PFCandidatePtr &)
Definition: PFTau.cc:72
const PFCandidatePtr & leadPFChargedHadrCand() const
Definition: PFTau.cc:67
void setelectronPreIDDecision(const bool &)
Definition: PFTau.cc:245
size_t size_type
Definition: Candidate.h:30
edm::AtomicPtrCache< std::vector< reco::RecoTauPiZero > > signalPiZeroCandidates_
Definition: PFTau.h:273
float segComp() const
Definition: PFTau.cc:259
float hcalTotOverPLead() const
Definition: PFTau.cc:228
bool electronPreIDDecision_
Definition: PFTau.h:219
float maximumHCALPFClusterEt_
Definition: PFTau.h:226
void setisolationPFCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:88
void setIsolationTauChargedHadronCandidates(std::vector< PFRecoTauChargedHadron >)
Definition: PFTau.cc:204
bool electronPreIDDecision() const
Definition: PFTau.cc:235
const std::vector< reco::PFCandidatePtr > & signalPFGammaCands() const
Gamma candidates in signal region.
Definition: PFTau.cc:84
float isolationPFChargedHadrCandsPtSum_
Definition: PFTau.h:224
float hcal3x3OverPLead() const
Definition: PFTau.cc:230
virtual double phi() const final
momentum azimuthal angle
reco::PFCandidatePtr leadPFNeutralCand_
Definition: PFTau.h:250
float emFraction() const
Definition: PFTau.cc:227
std::vector< reco::PFCandidatePtr > selectedSignalPFGammaCands_
Definition: PFTau.h:258
void setsignalPiZeroCandidates(std::vector< RecoTauPiZero >)
Definition: PFTau.cc:138
void sethcal3x3OverPLead(const float &)
Definition: PFTau.cc:240
void setisolationPFGammaCandsEtSum(const float &)
Definition: PFTau.cc:221
void reset()
unsets the value and deletes the memory
edm::AtomicPtrCache< std::vector< reco::RecoTauPiZero > > isolationPiZeroCandidates_
Definition: PFTau.h:274
virtual double vy() const
y coordinate of vertex position
void setemFraction(const float &)
Definition: PFTau.cc:237
PFRecoTauChargedHadronRefVector isolationTauChargedHadronCandidatesRefs_
Definition: PFTau.h:270
const std::vector< reco::PFCandidatePtr > & signalPFCands() const
PFCandidates in signal region.
Definition: PFTau.cc:78
bool isSet() const
const std::vector< reco::PFCandidatePtr > & isolationPFGammaCands() const
Gamma candidates in isolation region.
Definition: PFTau.cc:93
virtual reco::TrackRef track() const
reference to a Track
void setisolationPFNeutrHadrCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:92
std::vector< RecoTauPiZero > & signalPiZeroCandidatesRestricted()
Definition: PFTau.cc:133
bool muonDecision() const
Definition: PFTau.cc:260
reco::PFJetRef jetRef_
Definition: PFTau.h:247
hadronicDecayMode decayMode() const
Definition: PFTau.cc:212
void setsignalPFChargedHadrCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:81
float segComp_
Definition: PFTau.h:239
void dump(std::ostream &out=std::cout) const
prints information on this PFTau
Definition: PFTau.cc:276
void setjetRef(const PFJetRef &)
Definition: PFTau.cc:59
CandidatePtr sourceCandidatePtr(size_type i) const
Definition: PFTau.cc:265
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:71
float leadPFChargedHadrCandsignedSipt_
Definition: PFTau.h:222
PFRecoTauChargedHadronRef leadTauChargedHadronCandidate() const
Definition: PFTau.cc:166
float caloComp() const
Definition: PFTau.cc:258
const std::vector< RecoTauPiZero > & signalPiZeroCandidates() const
Retrieve the association of signal region gamma candidates into candidate PiZeros.
Definition: PFTau.cc:127
RecoTauPiZeroRefVector isolationPiZeroCandidatesRefs_
Definition: PFTau.h:267
double p4[4]
Definition: TauolaWrapper.h:92
void setDecayMode(const hadronicDecayMode &)
Definition: PFTau.cc:214
void setleadPFCand(const PFCandidatePtr &)
Definition: PFTau.cc:73
tuple dm
Definition: symbols.py:65
virtual int charge() const final
electric charge
Definition: LeafCandidate.h:91
void setCaloComp(const float &)
Definition: PFTau.cc:261
def move
Definition: eostools.py:510
bool isNull() const
Checks for null.
Definition: Ptr.h:165
void setisolationPFChargedHadrCandsPtSum(const float &)
Definition: PFTau.cc:218
void setleadPFChargedHadrCandsignedSipt(const float &)
Definition: PFTau.cc:76
float signalConeSize_
Definition: PFTau.h:245
void setsignalPFCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:79
hadronicDecayMode decayMode_
Definition: PFTau.h:241
const std::vector< reco::PFCandidatePtr > & isolationPFNeutrHadrCands() const
Definition: PFTau.cc:91
virtual double vz() const
z coordinate of vertex position
const std::vector< reco::PFCandidatePtr > & isolationPFChargedHadrCands() const
Charged candidates in isolation region.
Definition: PFTau.cc:89
float leadPFChargedHadrCandsignedSipt() const
Definition: PFTau.cc:75
virtual double mass() const final
mass
bool isNull() const
Checks for null.
Definition: Ref.h:249
void setbremsRecoveryEOverPLead(const float &)
Definition: PFTau.cc:242
bool isNonnull() const
Checks for non-null.
Definition: Ptr.h:169
bool muonDecision_
Definition: PFTau.h:218
const std::vector< RecoTauPiZero > & isolationPiZeroCandidates() const
Retrieve the association of isolation region gamma candidates into candidate PiZeros.
Definition: PFTau.cc:146
const PFTauTagInfoRef & pfTauTagInfoRef() const
Definition: PFTau.cc:61
const PFCandidatePtr & leadPFNeutralCand() const
Definition: PFTau.cc:68
std::vector< PFRecoTauChargedHadron > & isolationTauChargedHadronCandidatesRestricted()
Definition: PFTau.cc:199
std::vector< RecoTauPiZero > & isolationPiZeroCandidatesRestricted()
Definition: PFTau.cc:152
void sethcalMaxOverPLead(const float &)
Definition: PFTau.cc:239
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:25
bool set(std::unique_ptr< T > iNewValue) const
edm::AtomicPtrCache< std::vector< reco::PFRecoTauChargedHadron > > signalTauChargedHadronCandidates_
Definition: PFTau.h:277
void setisolationPFGammaCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:94
void setSegComp(const float &)
Definition: PFTau.cc:262
PFTau * clone() const
returns a clone of the Candidate object
Definition: PFTau.cc:55
void setsignalPFGammaCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:85
reco::PFCandidatePtr leadPFChargedHadrCand_
Definition: PFTau.h:249
const PFCandidatePtr & leadPFCand() const
Definition: PFTau.cc:69
void setisolationPFChargedHadrCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:90
float bremsRecoveryEOverPLead() const
Definition: PFTau.cc:232
float bremsRecoveryEOverPLead_
Definition: PFTau.h:234
edm::Ref< PFRecoTauChargedHadronCollection > PFRecoTauChargedHadronRef
presistent reference to a PFRecoTauChargedHadron
float hcal3x3OverPLead_
Definition: PFTau.h:232
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:37
float hcalMaxOverPLead_
Definition: PFTau.h:231
PFTauTagInfoRef PFTauTagInfoRef_
Definition: PFTau.h:248
float electronPreIDOutput_
Definition: PFTau.h:235
hadronicDecayMode
Definition: PFTau.h:36
const std::vector< reco::PFCandidatePtr > & signalPFNeutrHadrCands() const
Neutral hadrons in signal region.
Definition: PFTau.cc:82
virtual bool overlap(const Candidate &) const
check overlap with another candidate
Definition: PFTau.cc:271
std::vector< reco::PFCandidatePtr > selectedSignalPFChargedHadrCands_
Definition: PFTau.h:256
void setmaximumHCALPFClusterEt(const float &)
Definition: PFTau.cc:224
void setSignalTauChargedHadronCandidates(std::vector< PFRecoTauChargedHadron >)
Definition: PFTau.cc:185
std::vector< reco::PFCandidatePtr > selectedIsolationPFChargedHadrCands_
Definition: PFTau.h:262
std::vector< reco::PFCandidatePtr > selectedIsolationPFCands_
Definition: PFTau.h:261
void setecalStripSumEOverPLead(const float &)
Definition: PFTau.cc:241
float bendCorrMass_
Definition: PFTau.h:243
edm::AtomicPtrCache< std::vector< reco::PFRecoTauChargedHadron > > isolationTauChargedHadronCandidates_
Definition: PFTau.h:278
PFRecoTauChargedHadronRefVector signalTauChargedHadronCandidatesRefs_
Definition: PFTau.h:269
virtual double vx() const
x coordinate of vertex position
size_type size() const
Size of the RefVector.
Definition: RefVector.h:107
const std::vector< PFRecoTauChargedHadron > & signalTauChargedHadronCandidates() const
Retrieve the association of signal region PF candidates into candidate PFRecoTauChargedHadrons.
Definition: PFTau.cc:174
math::XYZPoint Point
point in the space
Definition: Candidate.h:41
void setIsolationPiZeroCandidatesRefs(RecoTauPiZeroRefVector)
Definition: PFTau.cc:157
void sethcalTotOverPLead(const float &)
Definition: PFTau.cc:238
reco::PFCandidatePtr leadPFCand_
Definition: PFTau.h:251
virtual double eta() const final
momentum pseudorapidity
std::vector< PFRecoTauChargedHadron > & signalTauChargedHadronCandidatesRestricted()
Definition: PFTau.cc:180
std::vector< reco::PFCandidatePtr > selectedIsolationPFGammaCands_
Definition: PFTau.h:264
float emFraction_
Definition: PFTau.h:229
const std::vector< PFRecoTauChargedHadron > & isolationTauChargedHadronCandidates() const
Retrieve the association of isolation region PF candidates into candidate PFRecoTauChargedHadron.
Definition: PFTau.cc:193
void setelectronPreIDTrack(const reco::TrackRef &)
Definition: PFTau.cc:243
long double T
float hcalMaxOverPLead() const
Definition: PFTau.cc:229
void setIsolationTauChargedHadronCandidatesRefs(PFRecoTauChargedHadronRefVector)
Definition: PFTau.cc:208
float electronPreIDOutput() const
Definition: PFTau.cc:234
reco::TrackRef electronPreIDTrack() const
Definition: PFTau.cc:233
void setsignalPFNeutrHadrCands(const std::vector< reco::PFCandidatePtr > &)
Definition: PFTau.cc:83
reco::TrackRef electronPreIDTrack_
Definition: PFTau.h:252
PFTau()
Definition: PFTau.cc:8
float isolationPFGammaCandsEtSum_
Definition: PFTau.h:225
float caloComp_
Definition: PFTau.h:238
const std::vector< reco::PFCandidatePtr > & signalPFChargedHadrCands() const
Charged hadrons in signal region.
Definition: PFTau.cc:80
float ecalStripSumEOverPLead() const
Definition: PFTau.cc:231
std::vector< reco::PFCandidatePtr > selectedSignalPFNeutrHadrCands_
Definition: PFTau.h:257
virtual double pt() const final
transverse momentum
void setpfTauTagInfoRef(const PFTauTagInfoRef)
Definition: PFTau.cc:65
void setSignalPiZeroCandidatesRefs(RecoTauPiZeroRefVector)
Definition: PFTau.cc:142
float hcalTotOverPLead_
Definition: PFTau.h:230