|
|
Go to the documentation of this file.
4 #ifndef DataFormats_PatCandidates_GenericParticle_h
5 #define DataFormats_PatCandidates_GenericParticle_h
166 if (prunedKey ==
"TrackIso")
168 if (prunedKey ==
"EcalIso")
170 if (prunedKey ==
"HcalIso")
172 if (prunedKey ==
"PfAllParticleIso")
174 if (prunedKey ==
"PfChargedHadronIso")
176 if (prunedKey ==
"PfNeutralHadronIso")
178 if (prunedKey ==
"PfGammaIso")
180 if (prunedKey ==
"User1Iso")
182 if (prunedKey ==
"User2Iso")
184 if (prunedKey ==
"User3Iso")
186 if (prunedKey ==
"User4Iso")
188 if (prunedKey ==
"User5Iso")
190 if (prunedKey ==
"UserBaseIso")
192 if (prunedKey ==
"CaloIso")
208 <<
"The key for which you're setting isolation does not correspond "
209 <<
"to an individual isolation but to the sum of more independent isolations "
210 <<
"(e.g. Calo = Ecal + Hcal), so you can't SET the value, just GET it.\n"
211 <<
"Please set up each component independly.\n";
244 if (it->first ==
key)
253 for (; it != ed; ++it) {
254 if (it->first ==
key) {
284 vtxAss_ = std::vector<pat::VertexAssociation>(1,
assoc);
const IsoDeposit * ecalIsoDeposit() const
void trackIsoDeposit(const IsoDeposit &dep)
edm::Ref< GsfTrackCollection > GsfTrackRef
persistent reference to a GsfTrack
void hcalIsoDeposit(const IsoDeposit &dep)
float userIsolation(const std::string &key) const
reco::TrackCollection combinedTrack_
size_t numberOfTracks() const override
number of multiple tracks (not including the master one)
virtual void setTrack(const reco::TrackRef &ref, bool embed=false)
sets master track reference (or even embed it into the object)
reco::TrackCollection track_
reco::TrackRef standAloneMuon() const override
edm::RefVector< GenericParticleCollection > GenericParticleRefVector
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable index.
reco::TrackRef standaloneTrackRef_
reco::SuperClusterRef superClusterRef_
CaloTowerRef caloTowerRef_
const pat::VertexAssociation * vertexAssociation(size_t index=0) const
Vertex association (or associations, if any). Return null pointer if none has been set.
void embedSuperCluster()
embeds the supercluster instead of keeping a reference to it
reco::GsfTrackRef gsfTrack() const override
reco::SuperClusterCollection superCluster_
GenericParticle * clone() const override
required reimplementation of the Candidate's clone method
float quality()
returns a user defined quality value, if set by the user to some meaningful value
void setEcalIso(float caloIso)
Sets ecal isolation variable.
virtual void setCombinedMuon(const reco::TrackRef &ref, bool embed=false)
sets combined muon track reference (or even embed it into the object)
void embedGsfTrack()
embeds the gsf track instead of keeping a reference to it
reco::TrackRef combinedMuon() const override
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
const IsoDeposit * hcalIsoDeposit() const
void setIsolation(IsolationKeys key, float value)
const std::vector< pat::VertexAssociation > & vertexAssociations() const
Vertex associations. Can be empty if it was not enabled in the config file.
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
Templated PAT object container.
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
virtual void setSuperCluster(const reco::SuperClusterRef &ref, bool embed=false)
sets supercluster reference (or even embed it into the object)
void setQuality(float quality)
sets a user defined quality value
reco::GsfTrackCollection gsfTrack_
void setVertexAssociations(const std::vector< pat::VertexAssociation > &assocs)
Set multiple vertex associations.
float userIsolation(IsolationKeys key) const
reco::TrackRef track(size_t idx) const override
void embedStandalone()
embeds the stand-alone track instead of keeping a reference to it
CaloTowerRef caloTower() const override
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
std::vector< float > isolations_
void embedCaloTower()
embeds the calotower instead of keeping a reference to it
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed)
bool overlap(const Candidate &) const override
void setHcalIso(float caloIso)
Sets hcal isolation variable.
virtual void setGsfTrack(const reco::GsfTrackRef &ref, bool embed=false)
sets gsf track reference (or even embed it into the object)
void fillInFrom(const reco::Candidate &cand)
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
void setVertexAssociation(const pat::VertexAssociation &assoc)
Set a single vertex association.
~GenericParticle() override
destructor
std::vector< GenericParticle > GenericParticleCollection
Analysis-level structure for vertex-related information.
const IsoDeposit * trackIsoDeposit() const
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
reco::TrackCollection tracks_
virtual void setTracks(const reco::TrackRefVector &refs, bool embed=false)
sets multiple track references (or even embed the tracks into the object - whatch out for disk size i...
std::vector< GsfTrack > GsfTrackCollection
collection of GsfTracks
reco::TrackCollection standaloneTrack_
void embedCombined()
embeds the combined track instead of keeping a reference to it
IsolationKeys
Enum defining isolation keys.
virtual void setCaloTower(const CaloTowerRef &ref, bool embed=false)
sets calotower reference (or even embed it into the object)
unsigned int index
index type
IsoDepositPairs isoDeposits_
reco::GsfTrackRef gsfTrackRef_
reco::TrackRef combinedTrackRef_
reco::TrackRef track() const override
edm::Ref< CaloTowerCollection > CaloTowerRef
Candidate()
default constructor
edm::Ref< GenericParticleCollection > GenericParticleRef
void embedTracks()
embeds the other tracks instead of keeping references
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
virtual void setStandAloneMuon(const reco::TrackRef &ref, bool embed=false)
sets stand-alone muon track reference (or even embed it into the object)
void setTrackIso(float trackIso)
Sets tracker isolation variable.
reco::SuperClusterRef superCluster() const override
CaloTowerCollection caloTower_
size_type size() const
Size of the RefVector.
std::vector< Track > TrackCollection
collection of Tracks
GenericParticle()
default constructor
void ecalIsoDeposit(const IsoDeposit &dep)
void embedTrack()
embeds the master track instead of keeping a reference to it
std::vector< pat::VertexAssociation > vtxAss_
reco::TrackRefVector trackRefs_