CMS 3D CMS Logo

PFTau.cc
Go to the documentation of this file.
4 
5 //using namespace std;
6 namespace reco {
7 
13  emFraction_ = NAN;
14  hcalTotOverPLead_ = NAN;
15  hcalMaxOverPLead_ = NAN;
16  hcal3x3OverPLead_ = NAN;
21  caloComp_ = NAN;
22  segComp_ = NAN;
23  muonDecision_ = NAN;
24  decayMode_ = kNull;
25  bendCorrMass_ = 0.;
26  signalConeSize_ = 0.;
27  }
28 
34 
35  emFraction_ = NAN;
36  hcalTotOverPLead_ = NAN;
37  hcalMaxOverPLead_ = NAN;
38  hcal3x3OverPLead_ = NAN;
43 
44  caloComp_ = NAN;
45  segComp_ = NAN;
46  muonDecision_ = NAN;
47  decayMode_ = kNull;
48  bendCorrMass_ = 0.;
49  signalConeSize_ = 0.;
50  }
51 
52  PFTau* PFTau::clone() const { return new PFTau(*this); }
53 
54  // Constituent getters and setters
55  const JetBaseRef& PFTau::jetRef() const { return jetRef_; }
56  void PFTau::setjetRef(const JetBaseRef& x) { jetRef_ = x; }
57 
59 
61 
64  const CandidatePtr& PFTau::leadCand() const { return leadCand_; }
65 
67  void PFTau::setleadNeutralCand(const CandidatePtr& myLead) { leadNeutralCand_ = myLead; }
68  void PFTau::setleadCand(const CandidatePtr& myLead) { leadCand_ = myLead; }
69 
72 
73  const std::vector<CandidatePtr>& PFTau::signalCands() const { return selectedSignalCands_; }
74  void PFTau::setsignalCands(const std::vector<CandidatePtr>& myParts) { selectedSignalCands_ = myParts; }
75  const std::vector<CandidatePtr>& PFTau::signalChargedHadrCands() const { return selectedSignalChargedHadrCands_; }
76  void PFTau::setsignalChargedHadrCands(const std::vector<CandidatePtr>& myParts) {
78  }
79  const std::vector<CandidatePtr>& PFTau::signalNeutrHadrCands() const { return selectedSignalNeutrHadrCands_; }
80  void PFTau::setsignalNeutrHadrCands(const std::vector<CandidatePtr>& myParts) {
82  }
83  const std::vector<CandidatePtr>& PFTau::signalGammaCands() const { return selectedSignalGammaCands_; }
84  void PFTau::setsignalGammaCands(const std::vector<CandidatePtr>& myParts) { selectedSignalGammaCands_ = myParts; }
85 
86  const std::vector<CandidatePtr>& PFTau::isolationCands() const { return selectedIsolationCands_; }
87  void PFTau::setisolationCands(const std::vector<CandidatePtr>& myParts) { selectedIsolationCands_ = myParts; }
88  const std::vector<CandidatePtr>& PFTau::isolationChargedHadrCands() const {
90  }
91  void PFTau::setisolationChargedHadrCands(const std::vector<CandidatePtr>& myParts) {
93  }
94  const std::vector<CandidatePtr>& PFTau::isolationNeutrHadrCands() const { return selectedIsolationNeutrHadrCands_; }
95  void PFTau::setisolationNeutrHadrCands(const std::vector<CandidatePtr>& myParts) {
97  }
98  const std::vector<CandidatePtr>& PFTau::isolationGammaCands() const { return selectedIsolationGammaCands_; }
99  void PFTau::setisolationGammaCands(const std::vector<CandidatePtr>& myParts) {
101  }
102 
103  namespace {
104  template <typename T, typename U>
105  void setCache(const T& iFrom, const edm::AtomicPtrCache<U>& oCache) {
106  if (not oCache.isSet()) {
107  // Fill them from the refs
108  auto temp = std::make_unique<U>();
109  temp->reserve(iFrom.size());
110  for (auto const& ref : iFrom) {
111  temp->push_back(*ref);
112  }
113  oCache.set(std::move(temp));
114  }
115  }
116 
117  template <typename T>
118  T& makeCacheIfNeeded(edm::AtomicPtrCache<T>& oCache) {
119  if (not oCache.isSet()) {
120  oCache.set(std::move(std::make_unique<T>()));
121  }
122  return *oCache;
123  }
124 
125  template <typename T>
126  void copyToCache(T&& iFrom, edm::AtomicPtrCache<T>& oCache) {
127  oCache.reset();
128  oCache.set(std::make_unique<T>(std::move(iFrom)));
129  }
130 
131  std::unique_ptr<reco::PFCandidatePtr> convertToPFPtr(const reco::CandidatePtr& ptr) {
132  if (ptr.isNonnull()) {
133  const reco::PFCandidate* pf_cand = dynamic_cast<const reco::PFCandidate*>(&*ptr);
134  if (pf_cand != nullptr) {
135  return std::unique_ptr<reco::PFCandidatePtr>(new reco::PFCandidatePtr(ptr));
136  } else
137  throw cms::Exception("Type Mismatch")
138  << "This PFTau was not made from PFCandidates, but it is being tried to access a PFCandidate.\n";
139  }
140  return std::unique_ptr<reco::PFCandidatePtr>(new reco::PFCandidatePtr());
141  }
142 
143  std::unique_ptr<std::vector<reco::PFCandidatePtr> > convertToPFPtrs(const std::vector<reco::CandidatePtr>& cands) {
144  std::unique_ptr<std::vector<reco::PFCandidatePtr> > newSignalPFCands{new std::vector<reco::PFCandidatePtr>{}};
145  bool isPF = false;
146  for (auto& cand : cands) {
147  // Check for first Candidate if it is a PFCandidate; if yes, skip for the rest
148  if (!isPF) {
149  const reco::PFCandidate* pf_cand = dynamic_cast<const reco::PFCandidate*>(&*cand);
150  if (pf_cand != nullptr) {
151  isPF = true;
152  newSignalPFCands->reserve(cands.size());
153  } else
154  throw cms::Exception("Type Mismatch")
155  << "This PFTau was not made from PFCandidates, but it is being tried to access PFCandidates.\n";
156  }
157  const auto& newPtr = edm::Ptr<reco::PFCandidate>(cand);
158  newSignalPFCands->push_back(newPtr);
159  }
160  return newSignalPFCands;
161  }
162  } // namespace
163 
165  if (!leadPFChargedHadrCand_.isSet())
166  leadPFChargedHadrCand_.set(convertToPFPtr(leadChargedHadrCand_));
167  return *leadPFChargedHadrCand_;
168  }
169 
171  if (!leadPFNeutralCand_.isSet())
172  leadPFNeutralCand_.set(convertToPFPtr(leadNeutralCand_));
173  return *leadPFNeutralCand_;
174  }
175 
177  if (!leadPFCand_.isSet())
178  leadPFCand_.set(convertToPFPtr(leadCand_));
179  return *leadPFCand_;
180  }
181 
182  const std::vector<reco::PFCandidatePtr>& PFTau::signalPFCands() const {
183  if (!selectedTransientSignalPFCands_.isSet()) {
185  }
187  }
188 
189  const std::vector<reco::PFCandidatePtr>& PFTau::signalPFChargedHadrCands() const {
192  }
194  }
195 
196  const std::vector<reco::PFCandidatePtr>& PFTau::signalPFNeutrHadrCands() const {
199  }
201  }
202 
203  const std::vector<reco::PFCandidatePtr>& PFTau::signalPFGammaCands() const {
206  }
208  }
209 
210  const std::vector<reco::PFCandidatePtr>& PFTau::isolationPFCands() const {
211  if (!selectedTransientIsolationPFCands_.isSet()) {
213  }
215  }
216 
217  const std::vector<reco::PFCandidatePtr>& PFTau::isolationPFChargedHadrCands() const {
220  }
222  }
223 
224  const std::vector<reco::PFCandidatePtr>& PFTau::isolationPFNeutrHadrCands() const {
227  }
229  }
230 
231  const std::vector<reco::PFCandidatePtr>& PFTau::isolationPFGammaCands() const {
234  }
236  }
237 
238  // PiZero and decay mode information
239  const std::vector<RecoTauPiZero>& PFTau::signalPiZeroCandidates() const {
240  // Check if the signal pi zeros are already filled
242  return *signalPiZeroCandidates_;
243  }
244 
245  std::vector<RecoTauPiZero>& PFTau::signalPiZeroCandidatesRestricted() {
246  // Check if the signal pi zeros are already filled
247  return makeCacheIfNeeded(signalPiZeroCandidates_);
248  }
249 
250  void PFTau::setsignalPiZeroCandidates(std::vector<RecoTauPiZero> cands) {
251  copyToCache(std::move(cands), signalPiZeroCandidates_);
252  }
253 
256  }
257 
258  const std::vector<RecoTauPiZero>& PFTau::isolationPiZeroCandidates() const {
259  // Check if the signal pi zeros are already filled
262  }
263 
264  std::vector<RecoTauPiZero>& PFTau::isolationPiZeroCandidatesRestricted() {
265  // Check if the signal pi zeros are already filled
266  return makeCacheIfNeeded(isolationPiZeroCandidates_);
267  }
268 
271  }
272 
273  void PFTau::setisolationPiZeroCandidates(std::vector<RecoTauPiZero> cands) {
274  copyToCache(std::move(cands), signalPiZeroCandidates_);
275  }
276 
277  // Tau Charged Hadron information
281  } else {
282  return PFRecoTauChargedHadronRef();
283  }
284  }
285 
286  const std::vector<PFRecoTauChargedHadron>& PFTau::signalTauChargedHadronCandidates() const {
287  // Check if the signal tau charged hadrons are already filled
290  }
291 
292  std::vector<PFRecoTauChargedHadron>& PFTau::signalTauChargedHadronCandidatesRestricted() {
293  // Check if the signal tau charged hadrons are already filled
294  return makeCacheIfNeeded(signalTauChargedHadronCandidates_);
295  }
296 
297  void PFTau::setSignalTauChargedHadronCandidates(std::vector<PFRecoTauChargedHadron> cands) {
299  }
300 
303  }
304 
305  const std::vector<PFRecoTauChargedHadron>& PFTau::isolationTauChargedHadronCandidates() const {
306  // Check if the isolation tau charged hadrons are already filled
309  }
310 
311  std::vector<PFRecoTauChargedHadron>& PFTau::isolationTauChargedHadronCandidatesRestricted() {
312  // Check if the isolation tau charged hadrons are already filled
313  return makeCacheIfNeeded(isolationTauChargedHadronCandidates_);
314  }
315 
316  void PFTau::setIsolationTauChargedHadronCandidates(std::vector<PFRecoTauChargedHadron> cands) {
318  }
319 
322  }
323 
325 
327 
328  // Setting information about the isolation region
331 
334 
337 
338  // Electron variables
339  float PFTau::emFraction() const { return emFraction_; }
340  float PFTau::hcalTotOverPLead() const { return hcalTotOverPLead_; }
341  float PFTau::hcalMaxOverPLead() const { return hcalMaxOverPLead_; }
342  float PFTau::hcal3x3OverPLead() const { return hcal3x3OverPLead_; }
348 
349  void PFTau::setemFraction(const float& x) { emFraction_ = x; }
350  void PFTau::sethcalTotOverPLead(const float& x) { hcalTotOverPLead_ = x; }
351  void PFTau::sethcalMaxOverPLead(const float& x) { hcalMaxOverPLead_ = x; }
352  void PFTau::sethcal3x3OverPLead(const float& x) { hcal3x3OverPLead_ = x; }
358 
359  // Muon variables
360  bool PFTau::hasMuonReference() const { // check if muon ref exists
362  return false;
363  else if (leadChargedHadrCand_.isNonnull()) {
364  const reco::PFCandidate* pf_cand = dynamic_cast<const reco::PFCandidate*>(&*leadChargedHadrCand_);
365  if (pf_cand) {
366  reco::MuonRef muonRef = pf_cand->muonRef();
367  if (muonRef.isNull())
368  return false;
369  else if (muonRef.isNonnull())
370  return true;
371  }
372  }
373  return false;
374  }
375 
376  float PFTau::caloComp() const { return caloComp_; }
377  float PFTau::segComp() const { return segComp_; }
378  bool PFTau::muonDecision() const { return muonDecision_; }
379  void PFTau::setCaloComp(const float& x) { caloComp_ = x; }
380  void PFTau::setSegComp(const float& x) { segComp_ = x; }
381  void PFTau::setMuonDecision(const bool& x) { muonDecision_ = x; }
382 
384  if (i != 0)
385  return CandidatePtr();
386  return jetRef().castTo<CandidatePtr>();
387  }
388 
389  bool PFTau::overlap(const Candidate& theCand) const {
390  const RecoCandidate* theRecoCand = dynamic_cast<const RecoCandidate*>(&theCand);
391  return (theRecoCand != nullptr && (checkOverlap(track(), theRecoCand->track())));
392  }
393 
394  void PFTau::dump(std::ostream& out) const {
395  if (!out)
396  return;
397 
398  if (pfTauTagInfoRef().isNonnull()) {
399  out << "Its TauTagInfo constituents :" << std::endl;
400  out << "# Tracks " << pfTauTagInfoRef()->Tracks().size() << std::endl;
401  out << "# PF charged hadr. cand's " << pfTauTagInfoRef()->PFChargedHadrCands().size() << std::endl;
402  out << "# PF neutral hadr. cand's " << pfTauTagInfoRef()->PFNeutrHadrCands().size() << std::endl;
403  out << "# PF gamma cand's " << pfTauTagInfoRef()->PFGammaCands().size() << std::endl;
404  }
405  out << "in detail :" << std::endl;
406 
407  out << "Pt of the PFTau " << pt() << std::endl;
408  const CandidatePtr& theLeadCand = leadChargedHadrCand();
409  if (!theLeadCand) {
410  out << "No Lead Cand " << std::endl;
411  } else {
412  out << "Lead Cand PDG Id " << (*theLeadCand).pdgId() << std::endl;
413  out << "Lead Cand Pt " << (*theLeadCand).pt() << std::endl;
414  out << "Lead Cand Charge " << (*theLeadCand).charge() << std::endl;
415  out << "Inner point position (x,y,z) of the PFTau (" << vx() << "," << vy() << "," << vz() << ")" << std::endl;
416  out << "Charge of the PFTau " << charge() << std::endl;
417  out << "Et of the highest Et HCAL PFCluster " << maximumHCALPFClusterEt() << std::endl;
418  out << "Number of SignalChargedHadrCands = " << signalChargedHadrCands().size() << std::endl;
419  out << "Number of SignalGammaCands = " << signalGammaCands().size() << std::endl;
420  out << "Number of IsolationChargedHadrCands = " << isolationChargedHadrCands().size() << std::endl;
421  out << "Number of IsolationGammaCands = " << isolationGammaCands().size() << std::endl;
422  out << "Sum of Pt of charged hadr. PFCandidates in isolation annulus around Lead PF = "
423  << isolationPFChargedHadrCandsPtSum() << std::endl;
424  out << "Sum of Et of gamma PFCandidates in other isolation annulus around Lead PF = "
425  << isolationPFGammaCandsEtSum() << std::endl;
426  }
427  // return out;
428  }
429 
430  std::ostream& operator<<(std::ostream& out, const reco::PFTau& tau) {
431  if (!out)
432  return out;
433 
434  out << std::setprecision(3) << "PFTau "
435  << " charge: " << tau.charge() << " "
436  << " pt:" << tau.pt() << " "
437  << " eta:" << tau.eta() << " "
438  << " phi:" << tau.phi() << " "
439  << " mass:" << tau.mass() << " "
440  << " dm: " << tau.decayMode() << " " << tau.signalCands().size() << "," << tau.signalChargedHadrCands().size()
441  << "," << tau.signalGammaCands().size() << "," << tau.signalPiZeroCandidates().size() << ","
442  << tau.signalNeutrHadrCands().size() << " "
443 
444  << tau.isolationCands().size() << "," << tau.isolationChargedHadrCands().size() << ","
445  << tau.isolationGammaCands().size() << "," << tau.isolationPiZeroCandidates().size() << ","
446  << tau.isolationNeutrHadrCands().size();
447 
448  return out;
449  }
450 
451 } // namespace reco
reco::PFTau::setbremsRecoveryEOverPLead
void setbremsRecoveryEOverPLead(const float &)
Definition: PFTau.cc:354
reco::PFTau::PFTauTagInfoRef_
PFTauTagInfoRef PFTauTagInfoRef_
Definition: PFTau.h:264
reco::PFTau::hcalTotOverPLead
float hcalTotOverPLead() const
Definition: PFTau.cc:340
reco::PFTau::caloComp
float caloComp() const
Definition: PFTau.cc:376
reco::PFTau::sethcalTotOverPLead
void sethcalTotOverPLead(const float &)
Definition: PFTau.cc:350
reco::PFTau::setisolationCands
void setisolationCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:87
reco::PFTau::signalPFCands
const std::vector< reco::PFCandidatePtr > & signalPFCands() const
Definition: PFTau.cc:182
reco::PFTau::signalPFGammaCands
const std::vector< reco::PFCandidatePtr > & signalPFGammaCands() const
Definition: PFTau.cc:203
reco::PFTau::kNull
Definition: PFTau.h:39
reco::PFTau::leadCand
const CandidatePtr & leadCand() const
Definition: PFTau.cc:64
reco::PFTau::selectedSignalNeutrHadrCands_
std::vector< reco::CandidatePtr > selectedSignalNeutrHadrCands_
Definition: PFTau.h:273
reco::PFTau::muonDecision_
bool muonDecision_
Definition: PFTau.h:234
mps_fire.i
i
Definition: mps_fire.py:355
reco::PFTau::setSignalTauChargedHadronCandidates
void setSignalTauChargedHadronCandidates(std::vector< PFRecoTauChargedHadron >)
Definition: PFTau.cc:297
reco::PFTau::signalCands
const std::vector< reco::CandidatePtr > & signalCands() const
Candidates in signal region.
Definition: PFTau.cc:73
reco::PFTau::isolationPFNeutrHadrCands
const std::vector< reco::PFCandidatePtr > & isolationPFNeutrHadrCands() const
Definition: PFTau.cc:224
reco::PFTau::leadPFNeutralCand
const PFCandidatePtr leadPFNeutralCand() const
Definition: PFTau.cc:170
MessageLogger.h
reco::PFTau::selectedIsolationNeutrHadrCands_
std::vector< reco::CandidatePtr > selectedIsolationNeutrHadrCands_
Definition: PFTau.h:279
reco::PFTau::setIsolationTauChargedHadronCandidatesRefs
void setIsolationTauChargedHadronCandidatesRefs(PFRecoTauChargedHadronRefVector)
Definition: PFTau.cc:320
reco::PFTau::hasMuonReference
bool hasMuonReference() const
Definition: PFTau.cc:360
reco::PFTau::selectedTransientIsolationPFGammaCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFGammaCands_
Definition: PFTau.h:295
reco::PFTau::setIsolationPiZeroCandidatesRefs
void setIsolationPiZeroCandidatesRefs(RecoTauPiZeroRefVector)
Definition: PFTau.cc:269
reco::PFRecoTauChargedHadronRef
edm::Ref< PFRecoTauChargedHadronCollection > PFRecoTauChargedHadronRef
presistent reference to a PFRecoTauChargedHadron
Definition: PFRecoTauChargedHadronFwd.h:16
reco::PFTau::clone
PFTau * clone() const override
returns a clone of the Candidate object
Definition: PFTau.cc:52
reco::PFTau::setCaloComp
void setCaloComp(const float &)
Definition: PFTau.cc:379
metsig::tau
Definition: SignAlgoResolutions.h:49
reco::RecoCandidate::checkOverlap
bool checkOverlap(const R &r1, const R &r2) const
check if two components overlap
Definition: RecoCandidate.h:67
reco::PFTau::setIsolationTauChargedHadronCandidates
void setIsolationTauChargedHadronCandidates(std::vector< PFRecoTauChargedHadron >)
Definition: PFTau.cc:316
reco::PFTau::maximumHCALPFClusterEt_
float maximumHCALPFClusterEt_
Definition: PFTau.h:242
edm::Ref::isNull
bool isNull() const
Checks for null.
Definition: Ref.h:235
reco::PFTau::selectedTransientSignalPFNeutrHadrCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFNeutrHadrCands_
Definition: PFTau.h:289
reco::PFTau::isolationPiZeroCandidatesRestricted
std::vector< RecoTauPiZero > & isolationPiZeroCandidatesRestricted()
Definition: PFTau.cc:264
reco::PFTau::selectedTransientSignalPFGammaCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFGammaCands_
Definition: PFTau.h:290
reco::PFTau::pfTauTagInfoRef
const PFTauTagInfoRef & pfTauTagInfoRef() const
Definition: PFTau.cc:58
reco::PFTau::leadChargedHadrCand_
reco::CandidatePtr leadChargedHadrCand_
Definition: PFTau.h:265
reco::PFTau::setelectronPreIDTrack
void setelectronPreIDTrack(const reco::TrackRef &)
Definition: PFTau.cc:355
reco::PFTau::isolationTauChargedHadronCandidates_
edm::AtomicPtrCache< std::vector< reco::PFRecoTauChargedHadron > > isolationTauChargedHadronCandidates_
Definition: PFTau.h:309
reco::PFTau::setelectronPreIDDecision
void setelectronPreIDDecision(const bool &)
Definition: PFTau.cc:357
reco::PFTau::dump
void dump(std::ostream &out=std::cout) const
prints information on this PFTau
Definition: PFTau.cc:394
reco::PFTau::signalPFNeutrHadrCands
const std::vector< reco::PFCandidatePtr > & signalPFNeutrHadrCands() const
Definition: PFTau.cc:196
reco::PFTau::segComp
float segComp() const
Definition: PFTau.cc:377
reco::PFTau::isolationCands
const std::vector< reco::CandidatePtr > & isolationCands() const
Candidates in isolation region.
Definition: PFTau.cc:86
edm::AtomicPtrCache::reset
void reset()
unsets the value and deletes the memory
Definition: AtomicPtrCache.h:137
reco::PFTau::leadPFCand
const PFCandidatePtr leadPFCand() const
Definition: PFTau.cc:176
reco::PFTau::selectedIsolationGammaCands_
std::vector< reco::CandidatePtr > selectedIsolationGammaCands_
Definition: PFTau.h:280
reco::LeafCandidate::vz
double vz() const override
z coordinate of vertex position
Definition: LeafCandidate.h:171
reco::PFTau::setelectronPreIDOutput
void setelectronPreIDOutput(const float &)
Definition: PFTau.cc:356
data-class-funcs.q
q
Definition: data-class-funcs.py:169
reco::Candidate::Charge
int Charge
electric charge type
Definition: Candidate.h:34
reco::PFTau::signalChargedHadrCands
const std::vector< reco::CandidatePtr > & signalChargedHadrCands() const
Charged hadrons in signal region.
Definition: PFTau.cc:75
reco::PFTau::maximumHCALPFClusterEt
float maximumHCALPFClusterEt() const
Et of the highest Et HCAL PFCluster.
Definition: PFTau.cc:335
reco::LeafCandidate::vx
double vx() const override
x coordinate of vertex position
Definition: LeafCandidate.h:167
reco::PFTau
Definition: PFTau.h:36
reco::PFTau::signalTauChargedHadronCandidatesRestricted
std::vector< PFRecoTauChargedHadron > & signalTauChargedHadronCandidatesRestricted()
Definition: PFTau.cc:292
reco::PFTau::sethcalMaxOverPLead
void sethcalMaxOverPLead(const float &)
Definition: PFTau.cc:351
reco::PFTau::signalPFChargedHadrCands
const std::vector< reco::PFCandidatePtr > & signalPFChargedHadrCands() const
Definition: PFTau.cc:189
reco::PFTau::ecalStripSumEOverPLead_
float ecalStripSumEOverPLead_
Definition: PFTau.h:249
edm::RefVector< RecoTauPiZeroCollection >
reco::PFTau::isolationTauChargedHadronCandidatesRestricted
std::vector< PFRecoTauChargedHadron > & isolationTauChargedHadronCandidatesRestricted()
Definition: PFTau.cc:311
reco::LeafCandidate::pt
double pt() const final
transverse momentum
Definition: LeafCandidate.h:146
reco
fixed size matrix
Definition: AlignmentAlgorithmBase.h:45
reco::PFTau::hcal3x3OverPLead_
float hcal3x3OverPLead_
Definition: PFTau.h:248
reco::PFTau::hcal3x3OverPLead
float hcal3x3OverPLead() const
Definition: PFTau.cc:342
reco::PFTau::hcalMaxOverPLead
float hcalMaxOverPLead() const
Definition: PFTau.cc:341
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
reco::PFTau::electronPreIDDecision
bool electronPreIDDecision() const
Definition: PFTau.cc:347
reco::PFTau::emFraction
float emFraction() const
Definition: PFTau.cc:339
reco::PFTau::leadPFChargedHadrCandsignedSipt
float leadPFChargedHadrCandsignedSipt() const
Definition: PFTau.cc:70
reco::PFTau::isolationPFGammaCandsEtSum_
float isolationPFGammaCandsEtSum_
Definition: PFTau.h:241
reco::PFTau::signalTauChargedHadronCandidates
const std::vector< PFRecoTauChargedHadron > & signalTauChargedHadronCandidates() const
Retrieve the association of signal region PF candidates into candidate PFRecoTauChargedHadrons.
Definition: PFTau.cc:286
reco::RecoCandidate::track
virtual reco::TrackRef track() const
reference to a Track
Definition: RecoCandidate.cc:13
edm::Ref< PFTauTagInfoCollection >
edm::AtomicPtrCache::isSet
bool isSet() const
Definition: AtomicPtrCache.h:122
reco::PFTau::leadPFChargedHadrCandsignedSipt_
float leadPFChargedHadrCandsignedSipt_
Definition: PFTau.h:238
reco::PFTau::setisolationPFChargedHadrCandsPtSum
void setisolationPFChargedHadrCandsPtSum(const float &)
Definition: PFTau.cc:330
edm::AtomicPtrCache::set
bool set(std::unique_ptr< T > iNewValue) const
Definition: AtomicPtrCache.h:127
reco::PFTau::selectedSignalCands_
std::vector< reco::CandidatePtr > selectedSignalCands_
Definition: PFTau.h:271
reco::PFTau::setsignalChargedHadrCands
void setsignalChargedHadrCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:76
reco::PFTau::isolationPiZeroCandidates
const std::vector< RecoTauPiZero > & isolationPiZeroCandidates() const
Retrieve the association of isolation region gamma candidates into candidate PiZeros.
Definition: PFTau.cc:258
reco::PFTau::isolationPFChargedHadrCandsPtSum_
float isolationPFChargedHadrCandsPtSum_
Definition: PFTau.h:240
reco::PFCandidate::muonRef
reco::MuonRef muonRef() const
Definition: PFCandidate.cc:421
reco::PFTau::signalPiZeroCandidates
const std::vector< RecoTauPiZero > & signalPiZeroCandidates() const
Retrieve the association of signal region gamma candidates into candidate PiZeros.
Definition: PFTau.cc:239
edm::RefVector::empty
bool empty() const
Is the RefVector empty.
Definition: RefVector.h:99
reco::PFTau::setsignalGammaCands
void setsignalGammaCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:84
reco::PFTau::electronPreIDTrack
reco::TrackRef electronPreIDTrack() const
Definition: PFTau.cc:345
reco::BaseTau
Definition: BaseTau.h:18
reco::PFTau::signalPiZeroCandidatesRestricted
std::vector< RecoTauPiZero > & signalPiZeroCandidatesRestricted()
Definition: PFTau.cc:245
reco::PFTau::leadPFNeutralCand_
edm::AtomicPtrCache< reco::PFCandidatePtr > leadPFNeutralCand_
Definition: PFTau.h:284
reco::PFTau::jetRef_
reco::JetBaseRef jetRef_
Definition: PFTau.h:263
reco::PFTau::setisolationNeutrHadrCands
void setisolationNeutrHadrCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:95
reco::PFTau::signalPiZeroCandidatesRefs_
RecoTauPiZeroRefVector signalPiZeroCandidatesRefs_
Definition: PFTau.h:297
reco::PFTau::setisolationPFGammaCandsEtSum
void setisolationPFGammaCandsEtSum(const float &)
Definition: PFTau.cc:333
reco::PFTau::setisolationGammaCands
void setisolationGammaCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:99
reco::PFTau::hcalMaxOverPLead_
float hcalMaxOverPLead_
Definition: PFTau.h:247
reco::PFTau::selectedIsolationChargedHadrCands_
std::vector< reco::CandidatePtr > selectedIsolationChargedHadrCands_
Definition: PFTau.h:278
reco::PFTau::isolationPiZeroCandidatesRefs_
RecoTauPiZeroRefVector isolationPiZeroCandidatesRefs_
Definition: PFTau.h:298
reco::PFTau::leadChargedHadrCand
const CandidatePtr & leadChargedHadrCand() const
Definition: PFTau.cc:62
badGlobalMuonTaggersAOD_cff.vtx
vtx
Definition: badGlobalMuonTaggersAOD_cff.py:5
reco::PFTau::selectedTransientSignalPFChargedHadrCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFChargedHadrCands_
Definition: PFTau.h:288
reco::PFTau::setleadCand
void setleadCand(const CandidatePtr &)
Definition: PFTau.cc:68
reco::PFTau::setleadNeutralCand
void setleadNeutralCand(const CandidatePtr &)
Definition: PFTau.cc:67
reco::PFTau::sethcal3x3OverPLead
void sethcal3x3OverPLead(const float &)
Definition: PFTau.cc:352
Point
Structure Point Contains parameters of Gaussian fits to DMRs.
Definition: DMRtrends.cc:57
reco::PFTau::PFTau
PFTau()
Definition: PFTau.cc:8
reco::PFTau::overlap
bool overlap(const Candidate &) const override
check overlap with another candidate
Definition: PFTau.cc:389
edm::AtomicPtrCache
Definition: AtomicPtrCache.h:38
reco::PFTau::leadPFCand_
edm::AtomicPtrCache< reco::PFCandidatePtr > leadPFCand_
Definition: PFTau.h:285
reco::PFTau::emFraction_
float emFraction_
Definition: PFTau.h:245
reco::PFTau::selectedTransientSignalPFCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFCands_
Definition: PFTau.h:287
reco::PFTau::muonDecision
bool muonDecision() const
Definition: PFTau.cc:378
reco::PFTau::selectedIsolationCands_
std::vector< reco::CandidatePtr > selectedIsolationCands_
Definition: PFTau.h:277
edm::Ref::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ref.h:238
reco::PFTau::setecalStripSumEOverPLead
void setecalStripSumEOverPLead(const float &)
Definition: PFTau.cc:353
reco::PFTau::setSignalPiZeroCandidatesRefs
void setSignalPiZeroCandidatesRefs(RecoTauPiZeroRefVector)
Definition: PFTau.cc:254
reco::PFTau::setDecayMode
void setDecayMode(const hadronicDecayMode &)
Definition: PFTau.cc:326
reco::PFTau::selectedTransientIsolationPFCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFCands_
Definition: PFTau.h:292
cand
Definition: decayParser.h:34
reco::PFTau::setleadChargedHadrCand
void setleadChargedHadrCand(const CandidatePtr &)
Definition: PFTau.cc:66
RefToPtr.h
reco::PFTau::bendCorrMass_
float bendCorrMass_
Definition: PFTau.h:259
reco::PFTau::isolationPFChargedHadrCandsPtSum
float isolationPFChargedHadrCandsPtSum() const
Definition: PFTau.cc:329
reco::PFTau::signalTauChargedHadronCandidates_
edm::AtomicPtrCache< std::vector< reco::PFRecoTauChargedHadron > > signalTauChargedHadronCandidates_
Definition: PFTau.h:308
reco::PFTau::isolationPiZeroCandidates_
edm::AtomicPtrCache< std::vector< reco::RecoTauPiZero > > isolationPiZeroCandidates_
Definition: PFTau.h:305
p4
double p4[4]
Definition: TauolaWrapper.h:92
reco::PFTau::signalPiZeroCandidates_
edm::AtomicPtrCache< std::vector< reco::RecoTauPiZero > > signalPiZeroCandidates_
Definition: PFTau.h:304
reco::PFTau::setsignalNeutrHadrCands
void setsignalNeutrHadrCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:80
reco::operator<<
std::ostream & operator<<(std::ostream &, BeamSpot beam)
Definition: BeamSpot.cc:66
symbols.dm
dm
Definition: symbols.py:66
reco::PFTau::leadNeutralCand_
reco::CandidatePtr leadNeutralCand_
Definition: PFTau.h:266
reco::LeafCandidate::charge
int charge() const final
electric charge
Definition: LeafCandidate.h:106
reco::PFTau::setSegComp
void setSegComp(const float &)
Definition: PFTau.cc:380
edm::RefToBase::castTo
REF castTo() const
Definition: RefToBase.h:257
reco::PFTau::leadPFChargedHadrCand_
edm::AtomicPtrCache< reco::PFCandidatePtr > leadPFChargedHadrCand_
Definition: PFTau.h:283
reco::PFTau::setpfTauTagInfoRef
void setpfTauTagInfoRef(const PFTauTagInfoRef)
Definition: PFTau.cc:60
reco::RecoCandidate
Definition: RecoCandidate.h:20
reco::PFTau::selectedSignalGammaCands_
std::vector< reco::CandidatePtr > selectedSignalGammaCands_
Definition: PFTau.h:274
reco::PFTau::electronPreIDTrack_
reco::TrackRef electronPreIDTrack_
Definition: PFTau.h:268
edm::Ptr< Candidate >
reco::Candidate
Definition: Candidate.h:27
reco::PFTau::leadCand_
reco::CandidatePtr leadCand_
Definition: PFTau.h:267
reco::PFTau::setemFraction
void setemFraction(const float &)
Definition: PFTau.cc:349
reco::PFTau::signalNeutrHadrCands
const std::vector< reco::CandidatePtr > & signalNeutrHadrCands() const
Neutral hadrons in signal region.
Definition: PFTau.cc:79
reco::PFTau::electronPreIDOutput_
float electronPreIDOutput_
Definition: PFTau.h:251
reco::PFTau::isolationTauChargedHadronCandidatesRefs_
PFRecoTauChargedHadronRefVector isolationTauChargedHadronCandidatesRefs_
Definition: PFTau.h:301
reco::PFTau::leadPFChargedHadrCand
const PFCandidatePtr leadPFChargedHadrCand() const
Getters for different PFCandidates for PFTaus made from PFCandidates.
Definition: PFTau.cc:164
reco::PFTau::setMuonDecision
void setMuonDecision(const bool &)
Definition: PFTau.cc:381
eostools.move
def move(src, dest)
Definition: eostools.py:511
reco::PFTau::leadTauChargedHadronCandidate
PFRecoTauChargedHadronRef leadTauChargedHadronCandidate() const
Definition: PFTau.cc:278
reco::PFTau::setsignalCands
void setsignalCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:74
reco::PFTau::selectedTransientIsolationPFChargedHadrCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFChargedHadrCands_
Definition: PFTau.h:293
reco::PFTau::hcalTotOverPLead_
float hcalTotOverPLead_
Definition: PFTau.h:246
reco::PFTau::electronPreIDOutput
float electronPreIDOutput() const
Definition: PFTau.cc:346
reco::PFTau::bremsRecoveryEOverPLead
float bremsRecoveryEOverPLead() const
Definition: PFTau.cc:344
reco::PFTau::selectedTransientIsolationPFNeutrHadrCands_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFNeutrHadrCands_
Definition: PFTau.h:294
reco::PFTau::setjetRef
void setjetRef(const JetBaseRef &)
Definition: PFTau.cc:56
T
long double T
Definition: Basic3DVectorLD.h:48
reco::PFTau::setsignalPiZeroCandidates
void setsignalPiZeroCandidates(std::vector< RecoTauPiZero >)
Definition: PFTau.cc:250
Exception
Definition: hltDiff.cc:246
reco::PFTau::caloComp_
float caloComp_
Definition: PFTau.h:254
reco::PFTau::isolationNeutrHadrCands
const std::vector< reco::CandidatePtr > & isolationNeutrHadrCands() const
Definition: PFTau.cc:94
reco::PFTau::isolationPFCands
const std::vector< reco::PFCandidatePtr > & isolationPFCands() const
Definition: PFTau.cc:210
reco::PFTau::hadronicDecayMode
hadronicDecayMode
Definition: PFTau.h:38
PFTau.h
reco::PFTau::leadNeutralCand
const CandidatePtr & leadNeutralCand() const
Definition: PFTau.cc:63
HLT_2018_cff.cands
cands
Definition: HLT_2018_cff.py:13762
edm::Ptr::isNonnull
bool isNonnull() const
Checks for non-null.
Definition: Ptr.h:146
reco::PFTau::selectedSignalChargedHadrCands_
std::vector< reco::CandidatePtr > selectedSignalChargedHadrCands_
Definition: PFTau.h:272
edm::RefToBase< Jet >
reco::PFTau::signalConeSize_
float signalConeSize_
Definition: PFTau.h:261
reco::PFTau::isolationPFGammaCandsEtSum
float isolationPFGammaCandsEtSum() const
Definition: PFTau.cc:332
reco::PFTau::electronPreIDDecision_
bool electronPreIDDecision_
Definition: PFTau.h:235
reco::PFTau::decayMode
hadronicDecayMode decayMode() const
Definition: PFTau.cc:324
reco::PFTau::bremsRecoveryEOverPLead_
float bremsRecoveryEOverPLead_
Definition: PFTau.h:250
reco::PFTau::setmaximumHCALPFClusterEt
void setmaximumHCALPFClusterEt(const float &)
Definition: PFTau.cc:336
reco::PFCandidate
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:40
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
reco::PFTau::setisolationPiZeroCandidates
void setisolationPiZeroCandidates(std::vector< RecoTauPiZero >)
Definition: PFTau.cc:273
reco::PFTau::isolationPFChargedHadrCands
const std::vector< reco::PFCandidatePtr > & isolationPFChargedHadrCands() const
Definition: PFTau.cc:217
reco::CandidatePtr
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
Definition: CandidateFwd.h:25
reco::PFTau::sourceCandidatePtr
CandidatePtr sourceCandidatePtr(size_type i) const override
Definition: PFTau.cc:383
reco::PFTau::setisolationChargedHadrCands
void setisolationChargedHadrCands(const std::vector< reco::CandidatePtr > &)
Definition: PFTau.cc:91
reco::PFTau::decayMode_
hadronicDecayMode decayMode_
Definition: PFTau.h:257
reco::Candidate::LorentzVector
math::XYZTLorentzVector LorentzVector
Lorentz vector.
Definition: Candidate.h:36
reco::PFTau::ecalStripSumEOverPLead
float ecalStripSumEOverPLead() const
Definition: PFTau.cc:343
reco::PFTau::setSignalTauChargedHadronCandidatesRefs
void setSignalTauChargedHadronCandidatesRefs(PFRecoTauChargedHadronRefVector)
Definition: PFTau.cc:301
reco::PFTau::isolationTauChargedHadronCandidates
const std::vector< PFRecoTauChargedHadron > & isolationTauChargedHadronCandidates() const
Retrieve the association of isolation region PF candidates into candidate PFRecoTauChargedHadron.
Definition: PFTau.cc:305
reco::PFTau::isolationChargedHadrCands
const std::vector< reco::CandidatePtr > & isolationChargedHadrCands() const
Charged candidates in isolation region.
Definition: PFTau.cc:88
reco::PFTau::setleadPFChargedHadrCandsignedSipt
void setleadPFChargedHadrCandsignedSipt(const float &)
Definition: PFTau.cc:71
reco::PFTau::isolationGammaCands
const std::vector< reco::CandidatePtr > & isolationGammaCands() const
Gamma candidates in isolation region.
Definition: PFTau.cc:98
edm::Ptr::isNull
bool isNull() const
Checks for null.
Definition: Ptr.h:142
reco::PFTau::segComp_
float segComp_
Definition: PFTau.h:255
reco::Candidate::size_type
size_t size_type
Definition: Candidate.h:29
reco::LeafCandidate::vy
double vy() const override
y coordinate of vertex position
Definition: LeafCandidate.h:169
reco::PFTau::isolationPFGammaCands
const std::vector< reco::PFCandidatePtr > & isolationPFGammaCands() const
Definition: PFTau.cc:231
reco::PFTau::jetRef
const JetBaseRef & jetRef() const
Definition: PFTau.cc:55
reco::PFTau::signalGammaCands
const std::vector< reco::CandidatePtr > & signalGammaCands() const
Gamma candidates in signal region.
Definition: PFTau.cc:83
reco::PFTau::signalTauChargedHadronCandidatesRefs_
PFRecoTauChargedHadronRefVector signalTauChargedHadronCandidatesRefs_
Definition: PFTau.h:300