|
|
Go to the documentation of this file.
105 template <
typename T,
typename U>
107 if (not oCache.
isSet()) {
109 auto temp = std::make_unique<U>();
110 temp->reserve(iFrom.size());
111 for (
auto const& ref : iFrom) {
112 temp->push_back(*ref);
118 template <
typename T>
120 if (not oCache.
isSet()) {
126 template <
typename T>
134 const reco::PFCandidate* pf_cand = dynamic_cast<const reco::PFCandidate*>(&*ptr);
135 if (pf_cand !=
nullptr) {
136 return std::make_unique<reco::PFCandidatePtr>(ptr);
139 <<
"This PFTau was not made from PFCandidates, but it is being tried to access a PFCandidate.\n";
141 return std::make_unique<reco::PFCandidatePtr>();
144 std::unique_ptr<std::vector<reco::PFCandidatePtr> > convertToPFPtrs(
const std::vector<reco::CandidatePtr>&
cands) {
145 std::unique_ptr<std::vector<reco::PFCandidatePtr> > newSignalPFCands{
new std::vector<reco::PFCandidatePtr>{}};
151 if (pf_cand !=
nullptr) {
153 newSignalPFCands->reserve(
cands.size());
156 <<
"This PFTau was not made from PFCandidates, but it is being tried to access PFCandidates.\n";
159 newSignalPFCands->push_back(newPtr);
161 return newSignalPFCands;
391 const RecoCandidate* theRecoCand = dynamic_cast<const RecoCandidate*>(&theCand);
400 out <<
"Its TauTagInfo constituents :" << std::endl;
402 out <<
"# PF charged hadr. cand's " <<
pfTauTagInfoRef()->PFChargedHadrCands().size() << std::endl;
403 out <<
"# PF neutral hadr. cand's " <<
pfTauTagInfoRef()->PFNeutrHadrCands().size() << std::endl;
406 out <<
"in detail :" << std::endl;
408 out <<
"Pt of the PFTau " <<
pt() << std::endl;
411 out <<
"No Lead Cand " << std::endl;
413 out <<
"Lead Cand PDG Id " << (*theLeadCand).pdgId() << std::endl;
414 out <<
"Lead Cand Pt " << (*theLeadCand).pt() << std::endl;
415 out <<
"Lead Cand Charge " << (*theLeadCand).charge() << std::endl;
416 out <<
"Inner point position (x,y,z) of the PFTau (" <<
vx() <<
"," <<
vy() <<
"," <<
vz() <<
")" << std::endl;
417 out <<
"Charge of the PFTau " <<
charge() << std::endl;
423 out <<
"Sum of Pt of charged hadr. PFCandidates in isolation annulus around Lead PF = "
425 out <<
"Sum of Et of gamma PFCandidates in other isolation annulus around Lead PF = "
435 out << std::setprecision(3) <<
"PFTau "
436 <<
" charge: " <<
tau.charge() <<
" "
437 <<
" pt:" <<
tau.pt() <<
" "
438 <<
" eta:" <<
tau.eta() <<
" "
439 <<
" phi:" <<
tau.phi() <<
" "
440 <<
" mass:" <<
tau.mass() <<
" "
441 <<
" dm: " <<
tau.decayMode() <<
" " <<
tau.signalCands().size() <<
"," <<
tau.signalChargedHadrCands().size()
442 <<
"," <<
tau.signalGammaCands().size() <<
"," <<
tau.signalPiZeroCandidates().size() <<
","
443 <<
tau.signalNeutrHadrCands().size() <<
" "
445 <<
tau.isolationCands().size() <<
"," <<
tau.isolationChargedHadrCands().size() <<
","
446 <<
tau.isolationGammaCands().size() <<
"," <<
tau.isolationPiZeroCandidates().size() <<
","
447 <<
tau.isolationNeutrHadrCands().size();
void setbremsRecoveryEOverPLead(const float &)
PFTauTagInfoRef PFTauTagInfoRef_
float hcalTotOverPLead() const
void sethcalTotOverPLead(const float &)
void setisolationCands(const std::vector< reco::CandidatePtr > &)
const std::vector< reco::PFCandidatePtr > & signalPFCands() const
const std::vector< reco::PFCandidatePtr > & signalPFGammaCands() const
const CandidatePtr & leadCand() const
std::vector< reco::CandidatePtr > selectedSignalNeutrHadrCands_
void setSignalTauChargedHadronCandidates(std::vector< PFRecoTauChargedHadron >)
const std::vector< reco::CandidatePtr > & signalCands() const
Candidates in signal region.
const std::vector< reco::PFCandidatePtr > & isolationPFNeutrHadrCands() const
const PFCandidatePtr leadPFNeutralCand() const
std::vector< reco::CandidatePtr > selectedIsolationNeutrHadrCands_
void setIsolationTauChargedHadronCandidatesRefs(PFRecoTauChargedHadronRefVector)
bool hasMuonReference() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFGammaCands_
void setIsolationPiZeroCandidatesRefs(RecoTauPiZeroRefVector)
edm::Ref< PFRecoTauChargedHadronCollection > PFRecoTauChargedHadronRef
presistent reference to a PFRecoTauChargedHadron
PFTau * clone() const override
returns a clone of the Candidate object
void setCaloComp(const float &)
bool checkOverlap(const R &r1, const R &r2) const
check if two components overlap
void setIsolationTauChargedHadronCandidates(std::vector< PFRecoTauChargedHadron >)
float maximumHCALPFClusterEt_
bool isNull() const
Checks for null.
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFNeutrHadrCands_
std::vector< RecoTauPiZero > & isolationPiZeroCandidatesRestricted()
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFGammaCands_
const PFTauTagInfoRef & pfTauTagInfoRef() const
reco::CandidatePtr leadChargedHadrCand_
void setelectronPreIDTrack(const reco::TrackRef &)
edm::AtomicPtrCache< std::vector< reco::PFRecoTauChargedHadron > > isolationTauChargedHadronCandidates_
void setelectronPreIDDecision(const bool &)
void dump(std::ostream &out=std::cout) const
prints information on this PFTau
const std::vector< reco::PFCandidatePtr > & signalPFNeutrHadrCands() const
const std::vector< reco::CandidatePtr > & isolationCands() const
Candidates in isolation region.
void reset()
unsets the value and deletes the memory
const PFCandidatePtr leadPFCand() const
std::vector< reco::CandidatePtr > selectedIsolationGammaCands_
double vz() const override
z coordinate of vertex position
void setelectronPreIDOutput(const float &)
int Charge
electric charge type
const std::vector< reco::CandidatePtr > & signalChargedHadrCands() const
Charged hadrons in signal region.
float maximumHCALPFClusterEt() const
Et of the highest Et HCAL PFCluster.
double vx() const override
x coordinate of vertex position
std::vector< PFRecoTauChargedHadron > & signalTauChargedHadronCandidatesRestricted()
void sethcalMaxOverPLead(const float &)
const std::vector< reco::PFCandidatePtr > & signalPFChargedHadrCands() const
float ecalStripSumEOverPLead_
std::vector< PFRecoTauChargedHadron > & isolationTauChargedHadronCandidatesRestricted()
double pt() const final
transverse momentum
float hcal3x3OverPLead() const
float hcalMaxOverPLead() const
bool electronPreIDDecision() const
float leadPFChargedHadrCandsignedSipt() const
float isolationPFGammaCandsEtSum_
const std::vector< PFRecoTauChargedHadron > & signalTauChargedHadronCandidates() const
Retrieve the association of signal region PF candidates into candidate PFRecoTauChargedHadrons.
virtual reco::TrackRef track() const
reference to a Track
float leadPFChargedHadrCandsignedSipt_
void setisolationPFChargedHadrCandsPtSum(const float &)
bool set(std::unique_ptr< T > iNewValue) const
std::vector< reco::CandidatePtr > selectedSignalCands_
void setsignalChargedHadrCands(const std::vector< reco::CandidatePtr > &)
const std::vector< RecoTauPiZero > & isolationPiZeroCandidates() const
Retrieve the association of isolation region gamma candidates into candidate PiZeros.
float isolationPFChargedHadrCandsPtSum_
reco::MuonRef muonRef() const
const std::vector< RecoTauPiZero > & signalPiZeroCandidates() const
Retrieve the association of signal region gamma candidates into candidate PiZeros.
bool empty() const
Is the RefVector empty.
void setsignalGammaCands(const std::vector< reco::CandidatePtr > &)
reco::TrackRef electronPreIDTrack() const
std::vector< RecoTauPiZero > & signalPiZeroCandidatesRestricted()
edm::AtomicPtrCache< reco::PFCandidatePtr > leadPFNeutralCand_
void setisolationNeutrHadrCands(const std::vector< reco::CandidatePtr > &)
RecoTauPiZeroRefVector signalPiZeroCandidatesRefs_
void setisolationPFGammaCandsEtSum(const float &)
void setisolationGammaCands(const std::vector< reco::CandidatePtr > &)
std::vector< reco::CandidatePtr > selectedIsolationChargedHadrCands_
RecoTauPiZeroRefVector isolationPiZeroCandidatesRefs_
const CandidatePtr & leadChargedHadrCand() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFChargedHadrCands_
void setleadCand(const CandidatePtr &)
void setleadNeutralCand(const CandidatePtr &)
void sethcal3x3OverPLead(const float &)
Structure Point Contains parameters of Gaussian fits to DMRs.
bool overlap(const Candidate &) const override
check overlap with another candidate
edm::AtomicPtrCache< reco::PFCandidatePtr > leadPFCand_
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientSignalPFCands_
bool muonDecision() const
std::vector< reco::CandidatePtr > selectedIsolationCands_
bool isNonnull() const
Checks for non-null.
void setecalStripSumEOverPLead(const float &)
void setSignalPiZeroCandidatesRefs(RecoTauPiZeroRefVector)
void setDecayMode(const hadronicDecayMode &)
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFCands_
void setleadChargedHadrCand(const CandidatePtr &)
float isolationPFChargedHadrCandsPtSum() const
edm::AtomicPtrCache< std::vector< reco::PFRecoTauChargedHadron > > signalTauChargedHadronCandidates_
edm::AtomicPtrCache< std::vector< reco::RecoTauPiZero > > isolationPiZeroCandidates_
edm::AtomicPtrCache< std::vector< reco::RecoTauPiZero > > signalPiZeroCandidates_
void setsignalNeutrHadrCands(const std::vector< reco::CandidatePtr > &)
std::ostream & operator<<(std::ostream &, BeamSpot beam)
reco::CandidatePtr leadNeutralCand_
int charge() const final
electric charge
void setSegComp(const float &)
edm::AtomicPtrCache< reco::PFCandidatePtr > leadPFChargedHadrCand_
void setpfTauTagInfoRef(const PFTauTagInfoRef)
std::vector< reco::CandidatePtr > selectedSignalGammaCands_
reco::TrackRef electronPreIDTrack_
reco::CandidatePtr leadCand_
void setemFraction(const float &)
const std::vector< reco::CandidatePtr > & signalNeutrHadrCands() const
Neutral hadrons in signal region.
float electronPreIDOutput_
PFRecoTauChargedHadronRefVector isolationTauChargedHadronCandidatesRefs_
const PFCandidatePtr leadPFChargedHadrCand() const
Getters for different PFCandidates for PFTaus made from PFCandidates.
void setMuonDecision(const bool &)
PFRecoTauChargedHadronRef leadTauChargedHadronCandidate() const
void setsignalCands(const std::vector< reco::CandidatePtr > &)
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFChargedHadrCands_
float electronPreIDOutput() const
float bremsRecoveryEOverPLead() const
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > selectedTransientIsolationPFNeutrHadrCands_
void setjetRef(const JetBaseRef &)
void setsignalPiZeroCandidates(std::vector< RecoTauPiZero >)
const std::vector< reco::CandidatePtr > & isolationNeutrHadrCands() const
const std::vector< reco::PFCandidatePtr > & isolationPFCands() const
const CandidatePtr & leadNeutralCand() const
bool isNonnull() const
Checks for non-null.
std::vector< reco::CandidatePtr > selectedSignalChargedHadrCands_
float isolationPFGammaCandsEtSum() const
bool electronPreIDDecision_
hadronicDecayMode decayMode() const
float bremsRecoveryEOverPLead_
void setmaximumHCALPFClusterEt(const float &)
Particle reconstructed by the particle flow algorithm.
void setisolationPiZeroCandidates(std::vector< RecoTauPiZero >)
const std::vector< reco::PFCandidatePtr > & isolationPFChargedHadrCands() const
edm::Ptr< Candidate > CandidatePtr
persistent reference to an object in a collection of Candidate objects
CandidatePtr sourceCandidatePtr(size_type i) const override
void setisolationChargedHadrCands(const std::vector< reco::CandidatePtr > &)
hadronicDecayMode decayMode_
math::XYZTLorentzVector LorentzVector
Lorentz vector.
float ecalStripSumEOverPLead() const
void setSignalTauChargedHadronCandidatesRefs(PFRecoTauChargedHadronRefVector)
const std::vector< PFRecoTauChargedHadron > & isolationTauChargedHadronCandidates() const
Retrieve the association of isolation region PF candidates into candidate PFRecoTauChargedHadron.
const std::vector< reco::CandidatePtr > & isolationChargedHadrCands() const
Charged candidates in isolation region.
void setleadPFChargedHadrCandsignedSipt(const float &)
const std::vector< reco::CandidatePtr > & isolationGammaCands() const
Gamma candidates in isolation region.
bool isNull() const
Checks for null.
double vy() const override
y coordinate of vertex position
const std::vector< reco::PFCandidatePtr > & isolationPFGammaCands() const
const JetBaseRef & jetRef() const
const std::vector< reco::CandidatePtr > & signalGammaCands() const
Gamma candidates in signal region.
PFRecoTauChargedHadronRefVector signalTauChargedHadronCandidatesRefs_