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);
edm::Ref< GsfTrackCollection > GsfTrackRef
persistent reference to a GsfTrack
IsoDepositPairs isoDeposits_
reco::TrackRef track() const override
const IsoDeposit * trackIsoDeposit() const
CaloTowerCollection caloTower_
reco::TrackRef standaloneTrackRef_
void setIsolation(IsolationKeys key, float value)
void ecalIsoDeposit(const IsoDeposit &dep)
reco::TrackCollection combinedTrack_
reco::TrackCollection track_
void fillInFrom(const reco::Candidate &cand)
edm::Ref< GenericParticleCollection > GenericParticleRef
const IsoDeposit * ecalIsoDeposit() const
std::vector< GenericParticle > GenericParticleCollection
void trackIsoDeposit(const IsoDeposit &dep)
void setUserIso(float value, uint8_t index=0)
Sets user isolation variable index.
std::vector< Track > TrackCollection
collection of Tracks
~GenericParticle() override
destructor
std::vector< float > isolations_
void embedTrack()
embeds the master track instead of keeping a reference to it
void hcalIsoDeposit(const IsoDeposit &dep)
IsolationKeys
Enum defining isolation keys.
const IsoDeposit * hcalIsoDeposit() const
reco::TrackRef standAloneMuon() const override
void setHcalIso(float caloIso)
Sets hcal isolation variable.
edm::Ref< SuperClusterCollection > SuperClusterRef
reference to an object in a collection of SuperCluster objects
size_t numberOfTracks() const override
number of multiple tracks (not including the master one)
GenericParticle()
default constructor
virtual void setCombinedMuon(const reco::TrackRef &ref, bool embed=false)
sets combined muon track reference (or even embed it into the object)
const pat::VertexAssociation * vertexAssociation(size_t index=0) const
Vertex association (or associations, if any). Return null pointer if none has been set...
void userIsoDeposit(const IsoDeposit &dep, uint8_t index=0)
Analysis-level Generic Particle class (e.g. for hadron or muon not fully reconstructed) ...
reco::TrackCollection standaloneTrack_
float userIsolation(IsolationKeys key) const
void embedStandalone()
embeds the stand-alone track instead of keeping a reference to it
bool overlap(const Candidate &) const override
reco::SuperClusterCollection superCluster_
float quality()
returns a user defined quality value, if set by the user to some meaningful value ...
std::vector< SuperCluster > SuperClusterCollection
collection of SuperCluser objectr
reco::GsfTrackRef gsfTrackRef_
reco::SuperClusterRef superClusterRef_
std::vector< GsfTrack > GsfTrackCollection
collection of GsfTracks
GenericParticle * clone() const override
required reimplementation of the Candidate's clone method
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
void setTrackIso(float trackIso)
Sets tracker isolation variable.
virtual void setGsfTrack(const reco::GsfTrackRef &ref, bool embed=false)
sets gsf track reference (or even embed it into the object)
CaloTowerRef caloTower() const override
reco::TrackRef combinedMuon() const override
reco::TrackRef track(size_t idx) const override
virtual void setCaloTower(const CaloTowerRef &ref, bool embed=false)
sets calotower reference (or even embed it into the object)
edm::RefVector< GenericParticleCollection > GenericParticleRefVector
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...
reco::GsfTrackRef gsfTrack() const override
std::vector< std::pair< IsolationKeys, pat::IsoDeposit > > IsoDepositPairs
void embedGsfTrack()
embeds the gsf track instead of keeping a reference to it
void embedSuperCluster()
embeds the supercluster instead of keeping a reference to it
virtual void setStandAloneMuon(const reco::TrackRef &ref, bool embed=false)
sets stand-alone muon track reference (or even embed it into the object)
unsigned int index
index type
size_type size() const
Size of the RefVector.
reco::TrackCollection tracks_
void embedTracks()
embeds the other tracks instead of keeping references
reco::GsfTrackCollection gsfTrack_
Candidate()
default constructor
edm::Ref< TrackCollection > TrackRef
persistent reference to a Track
reco::TrackRefVector trackRefs_
std::vector< pat::VertexAssociation > vtxAss_
float userIsolation(const std::string &key) const
CaloTowerRef caloTowerRef_
reco::SuperClusterRef superCluster() const override
reco::TrackRef combinedTrackRef_
void setIsoDeposit(IsolationKeys key, const IsoDeposit &dep)
Sets the IsoDeposit associated with some key; if it is already existent, it is overwritten.
Analysis-level structure for vertex-related information.
Templated PAT object container.
void embedCaloTower()
embeds the calotower instead of keeping a reference to it
void setEcalIso(float caloIso)
Sets ecal isolation variable.
edm::Ref< CaloTowerCollection > CaloTowerRef
void setQuality(float quality)
sets a user defined quality value
void setVertexAssociations(const std::vector< pat::VertexAssociation > &assocs)
Set multiple vertex associations.
void embedCombined()
embeds the combined track instead of keeping a reference to it
virtual void setTrack(const reco::TrackRef &ref, bool embed=false)
sets master track reference (or even embed it into the object)
const std::vector< pat::VertexAssociation > & vertexAssociations() const
Vertex associations. Can be empty if it was not enabled in the config file.
void setVertexAssociation(const pat::VertexAssociation &assoc)
Set a single vertex association.
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
virtual void setSuperCluster(const reco::SuperClusterRef &ref, bool embed=false)
sets supercluster reference (or even embed it into the object)