4 #ifndef DataFormats_PatCandidates_GenericParticle_h
5 #define DataFormats_PatCandidates_GenericParticle_h
68 <<
"Requested track " << idx <<
" out of " <<
numberOfTracks() <<
".\n";
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
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
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)
const IsoDeposit * isoDeposit(IsolationKeys key) const
Returns the IsoDeposit associated with some key, or a null pointer if it is not available.
IsolationKeys
Enum defining isolation keys.
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)
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_
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
const IsoDeposit * trackIsoDeposit() const
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
tuple key
prepare the HTCondor submission files and eventually submit them
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
const pat::VertexAssociation * vertexAssociation(size_t index=0) const
Vertex association (or associations, if any). Return null pointer if none has been set...
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
const IsoDeposit * ecalIsoDeposit() const
const IsoDeposit * userIsoDeposit(uint8_t index=0) const
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_
const IsoDeposit * hcalIsoDeposit() const
float userIsolation(IsolationKeys key) const
std::vector< pat::VertexAssociation > vtxAss_
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.
size_type size() const
Size of the RefVector.
Analysis-level structure for vertex-related information.
Templated PAT object container.
void embedCaloTower()
embeds the calotower instead of keeping a reference to it
const std::vector< pat::VertexAssociation > & vertexAssociations() const
Vertex associations. Can be empty if it was not enabled in the config file.
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)
void setVertexAssociation(const pat::VertexAssociation &assoc)
Set a single vertex association.
virtual void setSuperCluster(const reco::SuperClusterRef &ref, bool embed=false)
sets supercluster reference (or even embed it into the object)
float userIsolation(const std::string &key) const