CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
pat::Jet Class Reference

Analysis-level calorimeter jet class. More...

#include "DataFormats/PatCandidates/interface/Jet.h"

Inheritance diagram for pat::Jet:
pat::PATObject< reco::Jet > reco::Jet reco::CompositePtrCandidate reco::LeafCandidate reco::Candidate

Public Member Functions

void addBDiscriminatorPair (const std::pair< std::string, float > &thePair)
 method to add a algolabel-discriminator pair More...
 
void addTagInfo (const std::string &label, const TagInfoFwdPtrCollection::value_type &info)
 
const reco::TrackRefVectorassociatedTracks () const
 method to return a vector of refs to the tracks associated to this jet More...
 
const std::vector< std::string > availableJECLevels (const int &set=0) const
 
const std::vector< std::string > availableJECLevels (const std::string &set) const
 
const std::vector< std::string > availableJECSets () const
 -— methods for jet corrections -— More...
 
float bDiscriminator (const std::string &theLabel) const
 -— methods for accessing b-tagging info -— More...
 
const CaloSpecificcaloSpecific () const
 retrieve the calo specific part of the jet More...
 
CaloTowerFwdPtrVector const & caloTowersFwdPtr () const
 Access to bare FwdPtr collections. More...
 
float chargedEmEnergy () const
 chargedEmEnergy More...
 
float chargedEmEnergyFraction () const
 chargedEmEnergyFraction (relative to uncorrected jet energy) More...
 
float chargedHadronEnergy () const
 chargedHadronEnergy More...
 
float chargedHadronEnergyFraction () const
 chargedHadronEnergyFraction (relative to uncorrected jet energy) More...
 
int chargedHadronMultiplicity () const
 chargedHadronMultiplicity More...
 
float chargedMuEnergy () const
 chargedMuEnergy More...
 
float chargedMuEnergyFraction () const
 chargedMuEnergyFraction More...
 
int chargedMultiplicity () const
 chargedMultiplicity More...
 
virtual Jetclone () const
 required reimplementation of the Candidate's clone method More...
 
Jet correctedJet (const std::string &level, const std::string &flavor="none", const std::string &set="") const
 
Jet correctedJet (const unsigned int &level, const JetCorrFactors::Flavor &flavor=JetCorrFactors::NONE, const unsigned int &set=0) const
 
const LorentzVectorcorrectedP4 (const std::string &level, const std::string &flavor="none", const std::string &set="") const
 
const LorentzVectorcorrectedP4 (const unsigned int &level, const JetCorrFactors::Flavor &flavor=JetCorrFactors::NONE, const unsigned int &set=0) const
 
JetCorrFactors::Flavor currentJECFlavor () const
 return flavour of the current step of jet energy corrections More...
 
std::string currentJECLevel () const
 return the name of the current step of jet energy corrections More...
 
std::string currentJECSet () const
 returns the label of the current set of jet energy corrections More...
 
virtual const reco::Candidatedaughter (size_t i) const
 
float elecMultiplicity () const
 chargedMultiplicity More...
 
const reco::TrackRefVectorelecsInVertexInCalo () const
 electrons fully contained in cone More...
 
const reco::TrackRefVectorelecsInVertexOutCalo () const
 electrons that curled out More...
 
const reco::TrackRefVectorelecsOutVertexInCalo () const
 electrons that curled in More...
 
float electronEnergy () const
 electronEnergy More...
 
int electronMultiplicity () const
 electronMultiplicity More...
 
float emEnergyFraction () const
 returns the jet electromagnetic energy fraction More...
 
float emEnergyInEB () const
 returns the jet electromagnetic energy in EB More...
 
float emEnergyInEE () const
 returns the jet electromagnetic energy in EE More...
 
float emEnergyInHF () const
 returns the jet electromagnetic energy extracted from HF More...
 
float energyFractionHadronic () const
 returns the jet hadronic energy fraction More...
 
const reco::GenJetgenJet () const
 return the matched generated jet More...
 
edm::FwdRef
< reco::GenJetCollection >
const & 
genJetFwdRef () const
 
const reco::GenParticlegenParton () const
 -— methods for MC matching -— More...
 
CaloTowerPtr getCaloConstituent (unsigned fIndex) const
 convert generic constituent to specific type More...
 
std::vector< CaloTowerPtr > const & getCaloConstituents () const
 
const std::vector< std::pair
< std::string, float > > & 
getPairDiscri () const
 get vector of paire labelname-disciValue More...
 
reco::PFCandidatePtr getPFConstituent (unsigned fIndex) const
 convert generic constituent to specific type More...
 
std::vector
< reco::PFCandidatePtr > const & 
getPFConstituents () const
 
float hadEnergyInHB () const
 returns the jet hadronic energy in HB More...
 
float hadEnergyInHE () const
 returns the jet hadronic energy in HE More...
 
float hadEnergyInHF () const
 returns the jet hadronic energy in HF More...
 
float hadEnergyInHO () const
 returns the jet hadronic energy in HO More...
 
bool hasTagInfo (const std::string label) const
 check to see if the given tag info is nonzero More...
 
float HFEMEnergy () const
 HFEMEnergy. More...
 
float HFEMEnergyFraction () const
 HFEMEnergyFraction (relative to corrected jet energy) More...
 
int HFEMMultiplicity () const
 HFEMMultiplicity. More...
 
float HFHadronEnergy () const
 HFHadronEnergy. More...
 
float HFHadronEnergyFraction () const
 HFHadronEnergyFraction (relative to corrected jet energy) More...
 
int HFHadronMultiplicity () const
 HFHadronMultiplicity. More...
 
bool isBasicJet () const
 check to see if the jet is no more than a reco::BasicJet More...
 
bool isCaloJet () const
 check to see if the jet is a reco::CaloJet More...
 
bool isJPTJet () const
 check to see if the jet is a reco::JPTJet More...
 
bool isPFJet () const
 check to see if the jet is a reco::PFJet More...
 
float jecFactor (const std::string &level, const std::string &flavor="none", const std::string &set="") const
 
float jecFactor (const unsigned int &level, const JetCorrFactors::Flavor &flavor=JetCorrFactors::NONE, const unsigned int &set=0) const
 
bool jecSetAvailable (const std::string &set) const
 
bool jecSetAvailable (const unsigned int &set) const
 
bool jecSetsAvailable () const
 
 Jet ()
 default constructor More...
 
 Jet (const reco::Jet &aJet)
 constructor from a reco::Jet More...
 
 Jet (const edm::RefToBase< reco::Jet > &aJetRef)
 constructor from ref to reco::Jet More...
 
 Jet (const edm::Ptr< reco::Jet > &aJetRef)
 constructor from ref to reco::Jet More...
 
float jetCharge () const
 method to return the JetCharge computed when creating the Jet More...
 
reco::JetID const & jetID () const
 accessing Jet ID information More...
 
const JPTSpecificjptSpecific () const
 retrieve the pf specific part of the jet More...
 
float maxEInEmTowers () const
 returns the maximum energy deposited in ECAL towers More...
 
float maxEInHadTowers () const
 returns the maximum energy deposited in HCAL towers More...
 
float muonEnergy () const
 muonEnergy More...
 
float muonEnergyFraction () const
 muonEnergyFraction (relative to corrected jet energy) More...
 
int muonMultiplicity () const
 muonMultiplicity More...
 
const reco::TrackRefVectormuonsInVertexInCalo () const
 muons fully contained in cone More...
 
const reco::TrackRefVectormuonsInVertexOutCalo () const
 muons that curled out More...
 
const reco::TrackRefVectormuonsOutVertexInCalo () const
 muons that curled in More...
 
int n60 () const
 returns the number of constituents carrying a 60% of the total Jet energy*/ More...
 
int n90 () const
 returns the number of constituents carrying a 90% of the total Jet energy*/ More...
 
float neutralEmEnergy () const
 neutralEmEnergy More...
 
float neutralEmEnergyFraction () const
 neutralEmEnergyFraction (relative to uncorrected jet energy) More...
 
float neutralHadronEnergy () const
 neutralHadronEnergy More...
 
float neutralHadronEnergyFraction () const
 neutralHadronEnergyFraction (relative to uncorrected jet energy) More...
 
int neutralHadronMultiplicity () const
 neutralHadronMultiplicity More...
 
int neutralMultiplicity () const
 neutralMultiplicity More...
 
virtual size_t numberOfDaughters () const
 
int partonFlavour () const
 return the flavour of the parton underlying the jet More...
 
reco::PFCandidateFwdPtrVector
const & 
pfCandidatesFwdPtr () const
 
const PFSpecificpfSpecific () const
 retrieve the pf specific part of the jet More...
 
float photonEnergy () const
 photonEnergy More...
 
float photonEnergyFraction () const
 photonEnergyFraction (relative to corrected jet energy) More...
 
int photonMultiplicity () const
 photonMultiplicity More...
 
const reco::TrackRefVectorpionsInVertexInCalo () const
 pions fully contained in cone More...
 
const reco::TrackRefVectorpionsInVertexOutCalo () const
 pions that curled out More...
 
const reco::TrackRefVectorpionsOutVertexInCalo () const
 pions that curled in More...
 
void setAssociatedTracks (const reco::TrackRefVector &tracks)
 method to set the vector of refs to the tracks associated to this jet More...
 
void setCaloTowers (const CaloTowerFwdPtrCollection &caloTowers)
 method to store the CaloJet constituents internally More...
 
void setGenJetRef (const edm::FwdRef< reco::GenJetCollection > &gj)
 method to set the matched generated jet reference, embedding if requested More...
 
void setGenParton (const reco::GenParticleRef &gp, bool embed=false)
 method to set the matched parton More...
 
void setJetCharge (float jetCharge)
 method to set the jet charge More...
 
void setJetID (reco::JetID const &id)
 methods for jet ID More...
 
void setPartonFlavour (int partonFl)
 method to set the flavour of the parton underlying the jet More...
 
void setPFCandidates (const PFCandidateFwdPtrCollection &pfCandidates)
 method to store the PFCandidate constituents internally More...
 
const reco::BaseTagInfotagInfo (const std::string &label) const
 
const
reco::SecondaryVertexTagInfo
tagInfoSecondaryVertex (const std::string &label="") const
 
TagInfoFwdPtrCollection const & tagInfosFwdPtr () const
 
const reco::SoftLeptonTagInfotagInfoSoftLepton (const std::string &label="") const
 
const reco::TrackIPTagInfotagInfoTrackIP (const std::string &label="") const
 
float towersArea () const
 returns area of contributing towers More...
 
void updateFwdCaloTowerFwdPtr (unsigned int index, edm::Ptr< CaloTower > updateFwd)
 
void updateFwdGenJetFwdRef (edm::Ref< reco::GenJetCollection > updateRef)
 
void updateFwdPFCandidateFwdPtr (unsigned int index, edm::Ptr< reco::PFCandidate > updateFwd)
 
void updateFwdTagInfoFwdPtr (unsigned int index, edm::Ptr< reco::BaseTagInfo > updateFwd)
 
const float & zspCorrection () const
 zero suppression correction More...
 
virtual ~Jet ()
 destructor More...
 
- Public Member Functions inherited from pat::PATObject< reco::Jet >
void addGenParticleRef (const reco::GenParticleRef &ref)
 
void addTriggerObjectMatch (const TriggerObjectStandAlone &trigObj)
 add a trigger match More...
 
void addUserCand (const std::string &label, const reco::CandidatePtr &data)
 Set user-defined int. More...
 
void addUserData (const std::string &label, const T &data, bool transientOnly=false)
 
void addUserDataFromPtr (const std::string &label, const edm::Ptr< pat::UserData > &data)
 
void addUserFloat (const std::string &label, float data)
 Set user-defined float. More...
 
void addUserInt (const std::string &label, int32_t data)
 Set user-defined int. More...
 
std::vector< std::pair
< std::string,
pat::LookupTableRecord > > 
efficiencies () const
 Returns the efficiencies as <name,value> pairs (by value) More...
 
const pat::LookupTableRecordefficiency (const std::string &name) const
 Returns an efficiency given its name. More...
 
const std::vector< std::string > & efficiencyNames () const
 Returns the list of the names of the stored efficiencies. More...
 
const std::vector
< pat::LookupTableRecord > & 
efficiencyValues () const
 Returns the list of the values of the stored efficiencies (the ordering is the same as in efficiencyNames()) More...
 
void embedGenParticle ()
 
const reco::GenParticlegenParticle (size_t idx=0) const
 
reco::GenParticleRef genParticleById (int pdgId, int status, uint8_t autoCharge=0) const
 
reco::GenParticleRef genParticleRef (size_t idx=0) const
 
std::vector< reco::GenParticleRefgenParticleRefs () const
 
size_t genParticlesSize () const
 Number of generator level particles stored as ref or embedded. More...
 
const pat::CandKinResolutiongetKinResolution (const std::string &label="") const
 
bool hasKinResolution (const std::string &label="") const
 Check if the kinematic resolutions are stored into this object (possibly specifying a label for them) More...
 
bool hasOverlaps (const std::string &label) const
 Returns true if there was at least one overlap for this test label. More...
 
bool hasUserCand (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
bool hasUserData (const std::string &key) const
 Check if user data with a specific type is present. More...
 
bool hasUserFloat (const std::string &key) const
 Return true if there is a user-defined float with a given name. More...
 
bool hasUserInt (const std::string &key) const
 Return true if there is a user-defined int with a given name. More...
 
const reco::CandidateoriginalObject () const
 access to the original object; returns zero for null Ref and throws for unavailable collection More...
 
const edm::Ptr< reco::Candidate > & originalObjectRef () const
 reference to original object. Returns a null reference if not available More...
 
const std::vector< std::string > & overlapLabels () const
 Returns the labels of the overlap tests that found at least one overlap. More...
 
const reco::CandidatePtrVectoroverlaps (const std::string &label) const
 
 PATObject ()
 default constructor More...
 
 PATObject (const reco::Jet &obj)
 constructor from a base object (leaves invalid reference to original object!) More...
 
 PATObject (const edm::RefToBase< reco::Jet > &ref)
 constructor from reference More...
 
 PATObject (const edm::Ptr< reco::Jet > &ref)
 constructor from reference More...
 
double resolE (const std::string &label="") const
 Resolution on energy, possibly with a label to specify which resolution to use. More...
 
double resolEt (const std::string &label="") const
 Resolution on et, possibly with a label to specify which resolution to use. More...
 
double resolEta (const std::string &label="") const
 Resolution on eta, possibly with a label to specify which resolution to use. More...
 
double resolM (const std::string &label="") const
 
double resolP (const std::string &label="") const
 Resolution on p, possibly with a label to specify which resolution to use. More...
 
double resolPhi (const std::string &label="") const
 Resolution on phi, possibly with a label to specify which resolution to use. More...
 
double resolPInv (const std::string &label="") const
 Resolution on 1/p, possibly with a label to specify which resolution to use. More...
 
double resolPt (const std::string &label="") const
 Resolution on pt, possibly with a label to specify which resolution to use. More...
 
double resolPx (const std::string &label="") const
 Resolution on px, possibly with a label to specify which resolution to use. More...
 
double resolPy (const std::string &label="") const
 Resolution on py, possibly with a label to specify which resolution to use. More...
 
double resolPz (const std::string &label="") const
 Resolution on pz, possibly with a label to specify which resolution to use. More...
 
double resolTheta (const std::string &label="") const
 Resolution on theta, possibly with a label to specify which resolution to use. More...
 
void setEfficiency (const std::string &name, const pat::LookupTableRecord &value)
 
void setGenParticle (const reco::GenParticle &particle)
 Set the generator level particle from a particle not in the Event (embedding it, of course) More...
 
void setGenParticleRef (const reco::GenParticleRef &ref, bool embed=false)
 Set the generator level particle reference. More...
 
void setKinResolution (const pat::CandKinResolution &resol, const std::string &label="")
 Add a kinematic resolution to this object (possibly with a label) More...
 
void setOverlaps (const std::string &label, const reco::CandidatePtrVector &overlaps)
 
const TriggerObjectStandAlonetriggerObjectMatch (const size_t idx=0) const
 get one matched trigger object by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const std::string &coll, const size_t idx=0) const
 get one matched trigger object from a certain collection by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCollection (const char *coll, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const std::string &nameCondition, const size_t idx=0) const
 get one matched L1 object used in a succeeding object combination of a certain L1 condition by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByCondition (const char *nameCondition, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const std::string &labelFilter, const size_t idx=0) const
 get one matched HLT object used in a certain HLT filter by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByFilter (const char *labelFilter, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByFilterID (const unsigned triggerObjectType, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const bool pathLastFilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const bool pathLastFilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const unsigned pathLastFilterAccepted, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const trigger::TriggerObjectType triggerObjectType, const size_t idx=0) const
 get one matched trigger object of a certain type by index More...
 
const TriggerObjectStandAlonetriggerObjectMatchByType (const unsigned triggerObjectType, const size_t idx=0) const
 
const
TriggerObjectStandAloneCollection
triggerObjectMatches () const
 get all matched trigger objects More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const bool algoCondAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const std::string &nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByAlgorithm (const char *nameAlgorithm, const unsigned algoCondAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const std::string &coll) const
 get all matched trigger objects from a certain collection More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCollection (const char *coll) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const std::string &nameCondition) const
 get all matched L1 objects used in a succeeding object combination of a certain L1 condition More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByCondition (const char *nameCondition) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const std::string &labelFilter) const
 get all matched HLT objects used in a certain HLT filter More...
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilter (const char *labelFilter) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByFilterID (const unsigned triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const bool pathLastFilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const bool pathLastFilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const unsigned pathLastFilterAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const unsigned pathLastFilterAccepted) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const trigger::TriggerObjectType triggerObjectType) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByType (const unsigned triggerObjectType) const
 
reco::CandidatePtr userCand (const std::string &key) const
 
const std::vector< std::string > & userCandNames () const
 Get list of user-defined cand names. More...
 
const T * userData (const std::string &key) const
 Returns user-defined data. Returns NULL if the data is not present, or not of type T. More...
 
const void * userDataBare (const std::string &key) const
 
const std::vector< std::string > & userDataNames () const
 Get list of user data object names. More...
 
const std::string & userDataObjectType (const std::string &key) const
 Get human-readable type of user data object, for debugging. More...
 
float userFloat (const std::string &key) const
 
const std::vector< std::string > & userFloatNames () const
 Get list of user-defined float names. More...
 
int32_t userInt (const std::string &key) const
 
const std::vector< std::string > & userIntNames () const
 Get list of user-defined int names. More...
 
virtual ~PATObject ()
 destructor More...
 
- Public Member Functions inherited from reco::Jet
float etaetaMoment () const
 eta-eta second moment, ET weighted More...
 
float etaphiMoment () const
 eta-phi second moment, ET weighted More...
 
EtaPhiMoments etaPhiStatistics () const
 eta-phi statistics, ET weighted More...
 
float etInAnnulus (float fRmin, float fRmax) const
 ET in annulus between rmin and rmax around jet direction. More...
 
virtual Constituents getJetConstituents () const
 list of constituents More...
 
virtual std::vector< const
reco::Candidate * > 
getJetConstituentsQuick () const
 quick list of constituents More...
 
bool isJet () const
 
 Jet ()
 Default constructor. More...
 
 Jet (const LorentzVector &fP4, const Point &fVertex)
 Initiator. More...
 
 Jet (const LorentzVector &fP4, const Point &fVertex, const Constituents &fConstituents)
 
virtual float jetArea () const
 get jet area More...
 
float maxDistance () const
 maximum distance from jet to constituent More...
 
int nCarrying (float fFraction) const
 return # of constituent carrying fraction of energy More...
 
virtual int nConstituents () const
 

of constituents

More...
 
virtual int nPasses () const
 number of passes taken by algorithm More...
 
float phiphiMoment () const
 phi-phi second moment, ET weighted More...
 
virtual float pileup () const
 pileup energy contribution as calculated by algorithm More...
 
virtual std::string print () const
 Print object. More...
 
virtual void scaleEnergy (double fScale)
 scale energy of the jet More...
 
virtual void setJetArea (float fArea)
 set jet area More...
 
virtual void setNPasses (int fPasses)
 Set number of passes taken by algorithm. More...
 
virtual void setPileup (float fEnergy)
 Set pileup energy contribution as calculated by algorithm. More...
 
- Public Member Functions inherited from reco::CompositePtrCandidate
void addDaughter (const CandidatePtr &)
 add a daughter via a reference More...
 
virtual const_iterator begin () const
 first daughter const_iterator More...
 
virtual iterator begin ()
 first daughter iterator More...
 
void clearDaughters ()
 clear daughter references More...
 
 CompositePtrCandidate ()
 default constructor More...
 
 CompositePtrCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 CompositePtrCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 CompositePtrCandidate (const Candidate &p)
 constructor from a Candidate More...
 
virtual Candidatedaughter (size_type)
 return daughter at a given position, i = 0, ... numberOfDaughters() - 1 More...
 
CandidatePtr daughterPtr (size_type i) const
 reference to daughter at given position More...
 
const daughtersdaughterPtrVector () const
 references to daughtes More...
 
virtual const_iterator end () const
 last daughter const_iterator More...
 
virtual iterator end ()
 last daughter iterator More...
 
virtual const Candidatemother (size_t i=0) const
 return pointer to mother More...
 
virtual size_t numberOfMothers () const
 number of mothers More...
 
virtual size_type numberOfSourceCandidatePtrs () const
 
virtual CandidatePtr sourceCandidatePtr (size_type i) const
 
virtual ~CompositePtrCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::LeafCandidate
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
virtual Vector boostToCM () const
 
virtual int charge () const
 electric charge More...
 
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name More...
 
virtual const Candidatedaughter (const std::string &s) const
 return daughter with a specified role name More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
virtual double energy () const
 energy More...
 
virtual double et () const
 transverse energy More...
 
virtual double eta () const
 momentum pseudorapidity More...
 
virtual void fillVertexCovariance (CovarianceMatrix &v) const
 fill SMatrix More...
 
template<typename T >
get () const
 get a component More...
 
template<typename T , typename Tag >
get () const
 get a component More...
 
template<typename T >
get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
get (size_type i) const
 get a component More...
 
virtual bool hasMasterClone () const
 
virtual bool hasMasterClonePtr () const
 
virtual bool isCaloMuon () const
 
virtual bool isConvertedPhoton () const
 
virtual bool isElectron () const
 
virtual bool isGlobalMuon () const
 
virtual bool isMuon () const
 
virtual bool isPhoton () const
 
virtual bool isStandAloneMuon () const
 
virtual bool isTrackerMuon () const
 
 LeafCandidate ()
 default constructor More...
 
 LeafCandidate (const Candidate &c)
 
 LeafCandidate (Charge q, const LorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const PolarLorentzVector &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
virtual bool longLived () const
 is long lived? More...
 
virtual double mass () const
 mass More...
 
virtual bool massConstraint () const
 do mass constraint? More...
 
virtual double massSqr () const
 mass squared More...
 
virtual const CandidateBaseRefmasterClone () const
 
virtual const CandidatePtrmasterClonePtr () const
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
virtual Vector momentum () const
 spatial momentum vector More...
 
virtual double mt () const
 transverse mass More...
 
virtual double mtSqr () const
 transverse mass squared More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual double p () const
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const
 four-momentum Lorentz vector More...
 
virtual int pdgId () const
 PDG identifier. More...
 
virtual double phi () const
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const
 four-momentum Lorentz vector More...
 
virtual double pt () const
 transverse momentum More...
 
virtual double px () const
 x coordinate of momentum vector More...
 
virtual double py () const
 y coordinate of momentum vector More...
 
virtual double pz () const
 z coordinate of momentum vector More...
 
virtual double rapidity () const
 rapidity More...
 
virtual void setCharge (Charge q)
 set electric charge More...
 
virtual void setLongLived ()
 set long lived flag More...
 
virtual void setMass (double m)
 set particle mass More...
 
virtual void setMassConstraint ()
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum More...
 
virtual void setPdgId (int pdgId)
 
virtual void setPz (double pz)
 
virtual void setStatus (int status)
 set status word More...
 
virtual void setThreeCharge (Charge qx3)
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual int status () const
 status word More...
 
virtual double theta () const
 momentum polar angle More...
 
virtual int threeCharge () const
 electric charge More...
 
virtual const Pointvertex () const
 vertex position More...
 
virtual double vertexChi2 () const
 chi-squares More...
 
virtual double vertexCovariance (int i, int j) const
 (i, j)-th element of error matrix, i, j = 0, ... 2 More...
 
CovarianceMatrix vertexCovariance () const
 return SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 
virtual double vx () const
 x coordinate of vertex position More...
 
virtual double vy () const
 y coordinate of vertex position More...
 
virtual double vz () const
 z coordinate of vertex position More...
 
virtual double y () const
 rapidity More...
 
virtual ~LeafCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::Candidate
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
 Candidate ()
 default constructor More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
template<typename T >
get () const
 get a component More...
 
template<typename T , typename Tag >
get () const
 get a component More...
 
template<typename T >
get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
get (size_type i) const
 get a component More...
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual void setSourceCandidatePtr (const CandidatePtr &ptr)
 Set the ptr to the source Candidate. More...
 
virtual ~Candidate ()
 destructor More...
 

Protected Attributes

reco::TrackRefVector associatedTracks_
 
CaloTowerCollection caloTowers_
 
CaloTowerFwdPtrVector caloTowersFwdPtr_
 
std::vector< CaloTowerPtrcaloTowersTemp_
 
JetCorrFactors::Flavor currentJECFlavor_
 
unsigned int currentJECLevel_
 
unsigned int currentJECSet_
 
bool embeddedCaloTowers_
 
bool embeddedPFCandidates_
 
std::vector< reco::GenJetgenJet_
 
edm::FwdRef
< reco::GenJetCollection
genJetFwdRef_
 
reco::GenJetRefVector genJetRef_
 
std::vector< pat::JetCorrFactorsjec_
 
float jetCharge_
 
reco::JetID jetID_
 
std::vector< std::pair
< std::string, float > > 
pairDiscriVector_
 
int partonFlavour_
 
reco::PFCandidateCollection pfCandidates_
 
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
 
std::vector< reco::PFCandidatePtrpfCandidatesTemp_
 
std::vector< CaloSpecificspecificCalo_
 
std::vector< JPTSpecificspecificJPT_
 
std::vector< PFSpecificspecificPF_
 
std::vector< std::string > tagInfoLabels_
 
edm::OwnVector< reco::BaseTagInfotagInfos_
 
TagInfoFwdPtrCollection tagInfosFwdPtr_
 
- Protected Attributes inherited from pat::PATObject< reco::Jet >
std::vector< std::string > efficiencyNames_
 vector of the efficiencies (names) More...
 
std::vector
< pat::LookupTableRecord
efficiencyValues_
 vector of the efficiencies (values) More...
 
std::vector< reco::GenParticlegenParticleEmbedded_
 vector to hold an embedded generator level particle More...
 
std::vector< reco::GenParticleRefgenParticleRef_
 Reference to a generator level particle. More...
 
std::vector< std::string > kinResolutionLabels_
 
std::vector
< pat::CandKinResolution
kinResolutions_
 Kinematic resolutions. More...
 
std::vector
< reco::CandidatePtrVector
overlapItems_
 Overlapping items (sorted by distance) More...
 
std::vector< std::string > overlapLabels_
 Overlapping test labels (only if there are any overlaps) More...
 
edm::Ptr< reco::CandidaterefToOrig_
 
TriggerObjectStandAloneCollection triggerObjectMatchesEmbedded_
 vector of trigger matches More...
 
std::vector< std::string > userCandLabels_
 
std::vector< reco::CandidatePtruserCands_
 
std::vector< std::string > userDataLabels_
 User data object. More...
 
pat::UserDataCollection userDataObjects_
 
std::vector< std::string > userFloatLabels_
 
std::vector< float > userFloats_
 
std::vector< std::string > userIntLabels_
 
std::vector< int32_t > userInts_
 
- Protected Attributes inherited from reco::LeafCandidate
edm::BoolCache cacheCartesianFixed_
 
edm::BoolCache cachePolarFixed_
 has cache been set? More...
 
float eta_
 
float mass_
 
LorentzVector p4Cartesian_
 internal cache for p4 More...
 
PolarLorentzVector p4Polar_
 internal cache for p4 More...
 
int pdgId_
 PDG identifier. More...
 
float phi_
 
float pt_
 four-momentum Lorentz vector More...
 
Charge qx3_
 electric charge More...
 
int status_
 status word More...
 
Point vertex_
 vertex position More...
 

Private Member Functions

void addJECFactors (const JetCorrFactors &jec)
 add more sets of energy correction factors More...
 
void cacheCaloTowers () const
 method to cache the constituents to allow "user-friendly" access More...
 
void cachePFCandidates () const
 method to cache the constituents to allow "user-friendly" access More...
 
const JetCorrFactorscorrFactors_ (const std::string &set) const
 return the jet correction factors of a different set, for systematic studies More...
 
const JetCorrFactorscorrFactors_ () const
 return the correction factor for this jet. Throws if they're not available. More...
 
void currentJECFlavor (const JetCorrFactors::Flavor &flavor)
 update the current JEC flavor; used by correctedJet More...
 
void currentJECLevel (const unsigned int &level)
 update the current JEC level; used by correctedJet More...
 
void currentJECSet (const unsigned int &set)
 update the current JEC set; used by correctedJet More...
 
void initializeJEC (unsigned int level, const JetCorrFactors::Flavor &flavor=JetCorrFactors::NONE, unsigned int set=0)
 initialize the jet to a given JEC level during creation starting from Uncorrected More...
 
int jecSet (const std::string &label) const
 return true if this jet carries the jet correction factors of a different set, for systematic studies More...
 
template<typename T >
const T * tagInfoByType () const
 
void tryImportSpecific (const reco::Jet &source)
 constructor helper that tries to import the specific info from the source jet More...
 

Private Attributes

bool isCaloTowerCached_
 cache calo towers More...
 
bool isPFCandidateCached_
 

Friends

class PATJetProducer
 

Additional Inherited Members

- Public Types inherited from pat::PATObject< reco::Jet >
typedef reco::Jet base_type
 
- Public Types inherited from reco::Jet
typedef edm::Ptr< CandidateConstituent
 
typedef std::vector< ConstituentConstituents
 
- Public Types inherited from reco::CompositePtrCandidate
typedef std::vector< CandidatePtrdaughters
 collection of references to daughters More...
 
typedef std::vector< CandidatePtrmothers
 collection of references to daughters More...
 
- Public Types inherited from reco::LeafCandidate
typedef int Charge
 electric charge type More...
 
typedef CandidateCollection daughters
 collection of daughter candidates More...
 
typedef unsigned int index
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef math::XYZVector Vector
 point in the space More...
 
- Public Types inherited from reco::Candidate
enum  { dimension = 3 }
 
enum  { size = dimension * (dimension + 1)/2 }
 matix size More...
 
typedef int Charge
 electric charge type More...
 
typedef candidate::const_iterator const_iterator
 
typedef math::Error< dimension >
::type 
CovarianceMatrix
 covariance error matrix (3x3) More...
 
typedef unsigned int index
 index type More...
 
typedef candidate::iterator iterator
 
typedef math::XYZTLorentzVector LorentzVector
 Lorentz vector. More...
 
typedef math::XYZPoint Point
 point in the space More...
 
typedef
math::PtEtaPhiMLorentzVector 
PolarLorentzVector
 Lorentz vector. More...
 
typedef size_t size_type
 
typedef math::XYZVector Vector
 point in the space More...
 
- Static Public Member Functions inherited from reco::Jet
static float detectorEta (float fZVertex, float fPhysicsEta)
 static function to convert physics eta to detector eta More...
 
static Candidate::LorentzVector detectorP4 (const Candidate::Point &vertex, const Candidate &inParticle)
 
static float physicsEta (float fZVertex, float fDetectorEta)
 static function to convert detector eta to physics eta More...
 
static Candidate::LorentzVector physicsP4 (const Candidate::Point &newVertex, const Candidate &inParticle, const Candidate::Point &oldVertex=Candidate::Point(0, 0, 0))
 
- Static Public Attributes inherited from reco::LeafCandidate
static const unsigned int longLivedTag = 65536
 long lived flag More...
 
static const unsigned int massConstraintTag = 131072
 do mass constraint flag More...
 
- Protected Member Functions inherited from reco::LeafCandidate
void cacheCartesian () const
 set internal cache More...
 
void cachePolar () const
 set internal cache More...
 
void clearCache () const
 clear internal cache More...
 

Detailed Description

Analysis-level calorimeter jet class.

Jet implements the analysis-level calorimeter jet class within the 'pat' namespace

Author
Steven Lowette, Giovanni Petrucciani, Roger Wolf, Christian Autermann
Version
Id:
Jet.h,v 1.52 2010/12/01 18:38:42 rwolf Exp

Definition at line 67 of file Jet.h.

Constructor & Destructor Documentation

Jet::Jet ( )

default constructor

Definition at line 13 of file Jet.cc.

Referenced by clone().

13  :
15  embeddedCaloTowers_(false),
16  embeddedPFCandidates_(false),
17  partonFlavour_(0),
18  jetCharge_(0.),
19  isCaloTowerCached_(false),
21 {
22 }
int partonFlavour_
Definition: Jet.h:489
Base class for all types of Jets.
Definition: Jet.h:21
bool embeddedCaloTowers_
Definition: Jet.h:472
bool isPFCandidateCached_
Definition: Jet.h:544
float jetCharge_
Definition: Jet.h:516
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:542
bool embeddedPFCandidates_
Definition: Jet.h:478
Jet::Jet ( const reco::Jet aJet)

constructor from a reco::Jet

Definition at line 25 of file Jet.cc.

References tryImportSpecific().

25  :
27  embeddedCaloTowers_(false),
28  embeddedPFCandidates_(false),
29  partonFlavour_(0),
30  jetCharge_(0.0),
31  isCaloTowerCached_(false),
33 {
34  tryImportSpecific(aJet);
35 }
int partonFlavour_
Definition: Jet.h:489
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:64
bool embeddedCaloTowers_
Definition: Jet.h:472
bool isPFCandidateCached_
Definition: Jet.h:544
float jetCharge_
Definition: Jet.h:516
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:542
bool embeddedPFCandidates_
Definition: Jet.h:478
Jet::Jet ( const edm::RefToBase< reco::Jet > &  aJetRef)

constructor from ref to reco::Jet

Definition at line 51 of file Jet.cc.

References tryImportSpecific().

51  :
52  PATObject<reco::Jet>(aJetRef),
53  embeddedCaloTowers_(false),
54  embeddedPFCandidates_(false),
55  partonFlavour_(0),
56  jetCharge_(0.0),
57  isCaloTowerCached_(false),
59 {
60  tryImportSpecific(*aJetRef);
61 }
int partonFlavour_
Definition: Jet.h:489
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:64
bool embeddedCaloTowers_
Definition: Jet.h:472
bool isPFCandidateCached_
Definition: Jet.h:544
float jetCharge_
Definition: Jet.h:516
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:542
bool embeddedPFCandidates_
Definition: Jet.h:478
Jet::Jet ( const edm::Ptr< reco::Jet > &  aJetRef)

constructor from ref to reco::Jet

Definition at line 38 of file Jet.cc.

References tryImportSpecific().

38  :
39  PATObject<reco::Jet>(aJetRef),
40  embeddedCaloTowers_(false),
41  embeddedPFCandidates_(false),
42  partonFlavour_(0),
43  jetCharge_(0.0),
44  isCaloTowerCached_(false),
46 {
47  tryImportSpecific(*aJetRef);
48 }
int partonFlavour_
Definition: Jet.h:489
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:64
bool embeddedCaloTowers_
Definition: Jet.h:472
bool isPFCandidateCached_
Definition: Jet.h:544
float jetCharge_
Definition: Jet.h:516
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:542
bool embeddedPFCandidates_
Definition: Jet.h:478
Jet::~Jet ( )
virtual

destructor

Reimplemented from reco::Jet.

Definition at line 89 of file Jet.cc.

89  {
90 }

Member Function Documentation

void Jet::addBDiscriminatorPair ( const std::pair< std::string, float > &  thePair)

method to add a algolabel-discriminator pair

Definition at line 417 of file Jet.cc.

References pairDiscriVector_.

Referenced by pat::PATJetProducer::produce().

417  {
418  pairDiscriVector_.push_back(thePair);
419 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:508
void pat::Jet::addJECFactors ( const JetCorrFactors jec)
inlineprivate

add more sets of energy correction factors

Definition at line 151 of file Jet.h.

References jec_.

Referenced by pat::PATJetProducer::produce().

151 {jec_.push_back(jec); };
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
void Jet::addTagInfo ( const std::string &  label,
const TagInfoFwdPtrCollection::value_type &  info 
)

sets a tagInfo with the given name from an edm::Ptr<T> to it. If the label ends with 'TagInfos', the 'TagInfos' is stripped out.

Definition at line 355 of file Jet.cc.

References tagInfoLabels_, and tagInfosFwdPtr_.

Referenced by pat::PATJetProducer::produce().

356  {
357  std::string::size_type idx = label.find("TagInfos");
358  if (idx == std::string::npos) {
359  tagInfoLabels_.push_back(label);
360  } else {
361  tagInfoLabels_.push_back(label.substr(0,idx));
362  }
363  tagInfosFwdPtr_.push_back(info);
364 }
const std::string & label
Definition: MVAComputer.cc:186
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:511
uint16_t size_type
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:509
const reco::TrackRefVector & Jet::associatedTracks ( ) const

method to return a vector of refs to the tracks associated to this jet

Definition at line 374 of file Jet.cc.

References associatedTracks_.

Referenced by main().

374  {
375  return associatedTracks_;
376 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:517
const std::vector< std::string > Jet::availableJECLevels ( const int &  set = 0) const

Definition at line 215 of file Jet.cc.

References jec_.

216 {
217  return set>=0 ? jec_.at(set).correctionLabels() : std::vector<std::string>();
218 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
const std::vector<std::string> pat::Jet::availableJECLevels ( const std::string &  set) const
inline

Definition at line 105 of file Jet.h.

References availableJECLevels(), and jecSet().

Referenced by availableJECLevels().

105 { return availableJECLevels(jecSet(set)); };
const std::vector< std::string > availableJECLevels(const int &set=0) const
Definition: Jet.cc:215
int jecSet(const std::string &label) const
return true if this jet carries the jet correction factors of a different set, for systematic studies...
Definition: Jet.cc:199
const std::vector< std::string > Jet::availableJECSets ( ) const

-— methods for jet corrections -—

all available label-names of all sets of jet energy corrections

returns the labels of all available sets of jet energy corrections

Definition at line 207 of file Jet.cc.

References jec_.

208 {
209  std::vector<std::string> sets;
210  for(std::vector<pat::JetCorrFactors>::const_iterator corrFactor=jec_.begin(); corrFactor!=jec_.end(); ++corrFactor)
211  sets.push_back(corrFactor->jecSet());
212  return sets;
213 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
float Jet::bDiscriminator ( const std::string &  theLabel) const

-— methods for accessing b-tagging info -—

get b discriminant from label name

Definition at line 291 of file Jet.cc.

References first, i, and pairDiscriVector_.

Referenced by TtSemiLepJetComb::bTag(), bJetSelector::IsbTag(), TtHadLRJetCombObservables::operator()(), TtHadLRSignalSelObservables::CompareBdisc::operator()(), TtSemiLRJetCombObservables::operator()(), and TtSemiLRSignalSelObservables::CompareBdisc::operator()().

291  {
292  float discriminator = -1000.;
293  const std::string & theLabel = ((aLabel == "" || aLabel == "default")) ? "trackCountingHighEffBJetTags" : aLabel;
294  for(unsigned int i=0; i!=pairDiscriVector_.size(); i++){
295  if(pairDiscriVector_[i].first == theLabel){
296  discriminator = pairDiscriVector_[i].second;
297  }
298  }
299  return discriminator;
300 }
int i
Definition: DBlmapReader.cc:9
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:508
bool first
Definition: L1TdeRCT.cc:79
void Jet::cacheCaloTowers ( ) const
private

method to cache the constituents to allow "user-friendly" access

Definition at line 429 of file Jet.cc.

References edm::SortedCollection< T, SORT >::begin(), caloTowers_, caloTowersFwdPtr_, caloTowersTemp_, reco::CompositePtrCandidate::dau, reco::CompositePtrCandidate::daughterPtr(), embeddedCaloTowers_, edm::SortedCollection< T, SORT >::end(), edm::hlt::Exception, edm::Ptr< T >::get(), edm::Ptr< T >::id(), isCaloTowerCached_, edm::Ptr< T >::key(), numberOfDaughters(), and edm::SortedCollection< T, SORT >::size().

Referenced by getCaloConstituents().

429  {
430  // Clear the cache
431  caloTowersTemp_.clear();
432  // Here is where we've embedded constituents
433  if ( embeddedCaloTowers_ ) {
434  // Refactorized PAT access
435  if ( caloTowersFwdPtr_.size() > 0 ) {
436  for ( CaloTowerFwdPtrVector::const_iterator ibegin=caloTowersFwdPtr_.begin(),
437  iend = caloTowersFwdPtr_.end(),
438  icalo = ibegin;
439  icalo != iend; ++icalo ) {
440  caloTowersTemp_.push_back( CaloTowerPtr(icalo->ptr() ) );
441  }
442  }
443  // Compatibility access
444  else if ( caloTowers_.size() > 0 ) {
446  iend = caloTowers_.end(),
447  icalo = ibegin;
448  icalo != iend; ++icalo ) {
449  caloTowersTemp_.push_back( CaloTowerPtr(&caloTowers_, icalo - ibegin ) );
450  }
451  }
452  }
453  // Non-embedded access
454  else {
455  for ( unsigned fIndex = 0; fIndex < numberOfDaughters(); ++fIndex ) {
456  Constituent const & dau = daughterPtr (fIndex);
457  const CaloTower* caloTower = dynamic_cast <const CaloTower*> (dau.get());
458  if (caloTower) {
459  caloTowersTemp_.push_back( CaloTowerPtr(dau.id(), caloTower,dau.key() ) );
460  }
461  else {
462  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
463  }
464  }
465  }
466  // Set the cache flag
467  isCaloTowerCached_=true;
468 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:475
std::vector< CaloTowerPtr > caloTowersTemp_
Definition: Jet.h:473
CandidatePtr daughterPtr(size_type i) const
reference to daughter at given position
std::vector< CaloTower >::const_iterator const_iterator
daughters dau
collection of references to daughters
edm::Ptr< CaloTower > CaloTowerPtr
Definition: CaloTowerFwd.h:12
bool embeddedCaloTowers_
Definition: Jet.h:472
const_iterator end() const
edm::Ptr< Candidate > Constituent
Definition: Jet.h:23
virtual size_t numberOfDaughters() const
Definition: Jet.h:409
CaloTowerCollection caloTowers_
Definition: Jet.h:474
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:542
size_type size() const
const_iterator begin() const
void Jet::cachePFCandidates ( ) const
private

method to cache the constituents to allow "user-friendly" access

Definition at line 471 of file Jet.cc.

References reco::CompositePtrCandidate::dau, reco::CompositePtrCandidate::daughterPtr(), embeddedPFCandidates_, edm::hlt::Exception, edm::Ptr< T >::get(), edm::Ptr< T >::id(), isPFCandidateCached_, edm::Ptr< T >::key(), numberOfDaughters(), pfCandidates_, pfCandidatesFwdPtr_, and pfCandidatesTemp_.

Referenced by getPFConstituents().

471  {
472  // Clear the cache
473  pfCandidatesTemp_.clear();
474  // Here is where we've embedded constituents
475  if ( embeddedPFCandidates_ ) {
476  // Refactorized PAT access
477  if ( pfCandidatesFwdPtr_.size() > 0 ) {
478  for ( PFCandidateFwdPtrCollection::const_iterator ibegin=pfCandidatesFwdPtr_.begin(),
479  iend = pfCandidatesFwdPtr_.end(),
480  ipf = ibegin;
481  ipf != iend; ++ipf ) {
482  pfCandidatesTemp_.push_back( reco::PFCandidatePtr(ipf->ptr() ) );
483  }
484  }
485  // Compatibility access
486  else if ( pfCandidates_.size() > 0 ) {
487  for ( reco::PFCandidateCollection::const_iterator ibegin=pfCandidates_.begin(),
488  iend = pfCandidates_.end(),
489  ipf = ibegin;
490  ipf != iend; ++ipf ) {
491  pfCandidatesTemp_.push_back( reco::PFCandidatePtr(&pfCandidates_, ipf - ibegin ) );
492  }
493  }
494  }
495  // Non-embedded access
496  else {
497  for ( unsigned fIndex = 0; fIndex < numberOfDaughters(); ++fIndex ) {
498  Constituent const & dau = daughterPtr (fIndex);
499  const reco::PFCandidate* pfCandidate = dynamic_cast <const reco::PFCandidate*> (dau.get());
500  if (pfCandidate) {
501  pfCandidatesTemp_.push_back( reco::PFCandidatePtr(dau.id(), pfCandidate,dau.key() ) );
502  }
503  else {
504  throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type";
505  }
506  }
507  }
508  // Set the cache flag
510 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:480
CandidatePtr daughterPtr(size_type i) const
reference to daughter at given position
daughters dau
collection of references to daughters
bool isPFCandidateCached_
Definition: Jet.h:544
edm::Ptr< Candidate > Constituent
Definition: Jet.h:23
virtual size_t numberOfDaughters() const
Definition: Jet.h:409
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:34
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:481
std::vector< reco::PFCandidatePtr > pfCandidatesTemp_
Definition: Jet.h:479
bool embeddedPFCandidates_
Definition: Jet.h:478
const CaloSpecific& pat::Jet::caloSpecific ( ) const
inline

retrieve the calo specific part of the jet

Definition at line 226 of file Jet.h.

References specificCalo_.

Referenced by emEnergyFraction(), emEnergyInEB(), emEnergyInEE(), emEnergyInHF(), energyFractionHadronic(), hadEnergyInHB(), hadEnergyInHE(), hadEnergyInHF(), hadEnergyInHO(), maxEInEmTowers(), maxEInHadTowers(), and towersArea().

226  {
227  if (specificCalo_.empty()) throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a CaloJet.\n";
228  return specificCalo_[0];
229  }
std::vector< CaloSpecific > specificCalo_
Definition: Jet.h:521
CaloTowerFwdPtrVector const& pat::Jet::caloTowersFwdPtr ( ) const
inline

Access to bare FwdPtr collections.

Definition at line 432 of file Jet.h.

References caloTowersFwdPtr_.

432 { return caloTowersFwdPtr_;}
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:475
float pat::Jet::chargedEmEnergy ( ) const
inline

chargedEmEnergy

Definition at line 564 of file Jet.h.

References edm::hlt::Exception.

Referenced by chargedEmEnergyFraction().

565 {
566  if(isPFJet()){ return pfSpecific().mChargedEmEnergy; }
567  else if( isJPTJet() ){ return jptSpecific().mChargedEmEnergy;}
568  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
569 }
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
float mChargedEmEnergy
Definition: JPTJet.h:64
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mChargedEmEnergy
Definition: PFJet.h:67
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
float pat::Jet::chargedEmEnergyFraction ( ) const
inline

chargedEmEnergyFraction (relative to uncorrected jet energy)

Definition at line 326 of file Jet.h.

References chargedEmEnergy(), reco::LeafCandidate::energy(), and jecFactor().

Referenced by PFJetIDSelectionFunctor::firstDataCuts(), and main().

326 {return chargedEmEnergy()/(jecFactor(0) * energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:222
float chargedEmEnergy() const
chargedEmEnergy
Definition: Jet.h:564
virtual double energy() const
energy
float pat::Jet::chargedHadronEnergy ( ) const
inline

chargedHadronEnergy

Definition at line 550 of file Jet.h.

References edm::hlt::Exception, isJPTJet(), isPFJet(), jptSpecific(), reco::PFJet::Specific::mChargedHadronEnergy, reco::JPTJet::Specific::mChargedHadronEnergy, and pfSpecific().

Referenced by chargedHadronEnergyFraction().

551 {
552  if(isPFJet()){ return pfSpecific().mChargedHadronEnergy; }
553  else if( isJPTJet() ){ return jptSpecific().mChargedHadronEnergy; }
554  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
555 }
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mChargedHadronEnergy
Definition: JPTJet.h:62
float mChargedHadronEnergy
Definition: PFJet.h:49
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
float pat::Jet::chargedHadronEnergyFraction ( ) const
inline

chargedHadronEnergyFraction (relative to uncorrected jet energy)

Definition at line 322 of file Jet.h.

References chargedHadronEnergy(), reco::LeafCandidate::energy(), and jecFactor().

Referenced by PFJetIDSelectionFunctor::firstDataCuts(), and main().

322 {return chargedHadronEnergy()/(jecFactor(0) * energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:222
float chargedHadronEnergy() const
chargedHadronEnergy
Definition: Jet.h:550
virtual double energy() const
energy
int pat::Jet::chargedHadronMultiplicity ( ) const
inline

chargedHadronMultiplicity

Definition at line 351 of file Jet.h.

References reco::PFJet::Specific::mChargedHadronMultiplicity, and pfSpecific().

const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
int mChargedHadronMultiplicity
Definition: PFJet.h:57
float pat::Jet::chargedMuEnergy ( ) const
inline

chargedMuEnergy

Definition at line 365 of file Jet.h.

References reco::PFJet::Specific::mChargedMuEnergy, and pfSpecific().

Referenced by chargedMuEnergyFraction().

365 {return pfSpecific().mChargedMuEnergy;}
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mChargedMuEnergy
Definition: PFJet.h:68
float pat::Jet::chargedMuEnergyFraction ( ) const
inline

chargedMuEnergyFraction

Definition at line 367 of file Jet.h.

References chargedMuEnergy(), and reco::LeafCandidate::energy().

367 {return chargedMuEnergy () / energy ();}
virtual double energy() const
energy
float chargedMuEnergy() const
chargedMuEnergy
Definition: Jet.h:365
int pat::Jet::chargedMultiplicity ( ) const
inline

chargedMultiplicity

Definition at line 585 of file Jet.h.

References edm::hlt::Exception.

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

586 {
587  if(isPFJet()){ return pfSpecific().mChargedMultiplicity; }
591  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
592 }
reco::TrackRefVector muonsInVertexOutCalo
Definition: JPTJet.h:57
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector muonsInVertexInCalo
Definition: JPTJet.h:56
int mChargedMultiplicity
Definition: PFJet.h:70
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
reco::TrackRefVector pionsInVertexOutCalo
Definition: JPTJet.h:54
reco::TrackRefVector elecsInVertexInCalo
Definition: JPTJet.h:59
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
reco::TrackRefVector pionsInVertexInCalo
Definition: JPTJet.h:53
reco::TrackRefVector elecsInVertexOutCalo
Definition: JPTJet.h:60
size_type size() const
Size of the RefVector.
Definition: RefVector.h:85
virtual Jet* pat::Jet::clone ( void  ) const
inlinevirtual

required reimplementation of the Candidate's clone method

Reimplemented from reco::CompositePtrCandidate.

Definition at line 86 of file Jet.h.

References Jet().

86 { return new Jet(*this); }
Jet()
default constructor
Definition: Jet.cc:13
Jet Jet::correctedJet ( const std::string &  level,
const std::string &  flavor = "none",
const std::string &  set = "" 
) const

copy of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

copy of the jet with correction factor to target step for the set of correction factors, which is currently in use

Definition at line 254 of file Jet.cc.

References edm::hlt::Exception, and jec_.

Referenced by correctedJet(), correctedP4(), StEvtSolution::getRecBottom(), TtHadEvtSolution::getRecHadb(), TtSemiEvtSolution::getRecHadb(), TtHadEvtSolution::getRecHadbbar(), TtHadEvtSolution::getRecHadj(), TtHadEvtSolution::getRecHadk(), TtHadEvtSolution::getRecHadp(), TtSemiEvtSolution::getRecHadp(), TtHadEvtSolution::getRecHadq(), TtSemiEvtSolution::getRecHadq(), TtDilepEvtSolution::getRecJetB(), TtDilepEvtSolution::getRecJetBbar(), TtSemiEvtSolution::getRecLepb(), StEvtSolution::getRecLight(), and PFJetIDSelectionFunctor::operator()().

255 {
256  // rescale p4 of the jet; the update of current values is
257  // done within the called jecFactor function
258  for(unsigned int idx=0; idx<jec_.size(); ++idx){
259  if(set.empty() || jec_.at(idx).jecSet()==set){
260  if(jec_[idx].jecLevel(level)>=0){
261  return correctedJet(jec_[idx].jecLevel(level), jec_[idx].jecFlavor(flavor), idx);
262  }
263  else{
264  throw cms::Exception("InvalidRequest") << "This JEC level " << level << " does not exist. \n";
265  }
266  }
267  }
268  throw cms::Exception("InvalidRequest") << "This JEC set " << set << " does not exist. \n";
269 }
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:254
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
tuple level
Definition: testEve_cfg.py:34
Jet Jet::correctedJet ( const unsigned int &  level,
const JetCorrFactors::Flavor flavor = JetCorrFactors::NONE,
const unsigned int &  set = 0 
) const

copy of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

copy of the jet with correction factor to target step for the set of correction factors, which is currently in use

Definition at line 273 of file Jet.cc.

References correctedJet(), currentJECFlavor(), currentJECLevel(), currentJECSet(), jecFactor(), reco::LeafCandidate::p4(), and reco::LeafCandidate::setP4().

274 {
275  Jet correctedJet(*this);
276  //rescale p4 of the jet
277  correctedJet.setP4(jecFactor(level, flavor, set)*p4());
278  // update current level, flavor and set
280  return correctedJet;
281 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:222
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:254
virtual void setP4(const LorentzVector &p4)
set 4-momentum
JetCorrFactors::Flavor currentJECFlavor() const
return flavour of the current step of jet energy corrections
Definition: Jet.h:120
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Jet.h:118
Analysis-level calorimeter jet class.
Definition: Jet.h:67
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Jet.h:116
const LorentzVector& pat::Jet::correctedP4 ( const std::string &  level,
const std::string &  flavor = "none",
const std::string &  set = "" 
) const
inline

p4 of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

Definition at line 135 of file Jet.h.

References correctedJet(), and reco::LeafCandidate::p4().

Referenced by JetIDSelectionFunctor::operator()().

135 { return correctedJet(level, flavor, set).p4(); };
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:254
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
const LorentzVector& pat::Jet::correctedP4 ( const unsigned int &  level,
const JetCorrFactors::Flavor flavor = JetCorrFactors::NONE,
const unsigned int &  set = 0 
) const
inline

p4 of the jet corrected up to the given level for the set of jet energy correction factors, which is currently in use

Definition at line 138 of file Jet.h.

References correctedJet(), and reco::LeafCandidate::p4().

138 { return correctedJet(level, flavor, set).p4(); };
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:254
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
const JetCorrFactors* pat::Jet::corrFactors_ ( const std::string &  set) const
private

return the jet correction factors of a different set, for systematic studies

const JetCorrFactors* pat::Jet::corrFactors_ ( ) const
private

return the correction factor for this jet. Throws if they're not available.

JetCorrFactors::Flavor pat::Jet::currentJECFlavor ( ) const
inline

return flavour of the current step of jet energy corrections

Definition at line 120 of file Jet.h.

References currentJECFlavor_.

Referenced by correctedJet(), and initializeJEC().

120 { return currentJECFlavor_; };
JetCorrFactors::Flavor currentJECFlavor_
Definition: Jet.h:504
void pat::Jet::currentJECFlavor ( const JetCorrFactors::Flavor flavor)
inlineprivate

update the current JEC flavor; used by correctedJet

Definition at line 149 of file Jet.h.

References currentJECFlavor_.

149 { currentJECFlavor_=flavor; };
JetCorrFactors::Flavor currentJECFlavor_
Definition: Jet.h:504
std::string pat::Jet::currentJECLevel ( ) const
inline

return the name of the current step of jet energy corrections

Definition at line 118 of file Jet.h.

References currentJECLevel_, currentJECSet_, and jec_.

Referenced by correctedJet(), initializeJEC(), PFJetIDSelectionFunctor::operator()(), JetIDSelectionFunctor::operator()(), and PatJetAnalyzer::print().

118 { return currentJECSet_<jec_.size() ? jec_.at(currentJECSet_).jecLevel(currentJECLevel_) : std::string("ERROR"); };
unsigned int currentJECLevel_
Definition: Jet.h:501
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
unsigned int currentJECSet_
Definition: Jet.h:499
void pat::Jet::currentJECLevel ( const unsigned int &  level)
inlineprivate

update the current JEC level; used by correctedJet

Definition at line 147 of file Jet.h.

References currentJECLevel_, and testEve_cfg::level.

unsigned int currentJECLevel_
Definition: Jet.h:501
tuple level
Definition: testEve_cfg.py:34
std::string pat::Jet::currentJECSet ( ) const
inline

returns the label of the current set of jet energy corrections

Definition at line 116 of file Jet.h.

References currentJECSet_, and jec_.

Referenced by correctedJet(), and initializeJEC().

116 { return currentJECSet_<jec_.size() ? jec_.at(currentJECSet_).jecSet() : std::string("ERROR"); }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
unsigned int currentJECSet_
Definition: Jet.h:499
void pat::Jet::currentJECSet ( const unsigned int &  set)
inlineprivate

update the current JEC set; used by correctedJet

Definition at line 145 of file Jet.h.

References currentJECSet_.

145 { currentJECSet_=set; };
unsigned int currentJECSet_
Definition: Jet.h:499
virtual const reco::Candidate* pat::Jet::daughter ( size_t  i) const
inlinevirtual

get a pointer to a Candididate constituent of the jet If using refactorized PAT, return that. (constituents size > 0) Else check the old version of PAT (embedded constituents size > 0) Else return the reco Jet number of constituents

Reimplemented from reco::CompositePtrCandidate.

Definition at line 385 of file Jet.h.

References caloTowers_, caloTowersFwdPtr_, reco::CompositePtrCandidate::daughter(), embeddedCaloTowers_, embeddedPFCandidates_, isCaloJet(), isJPTJet(), isPFJet(), pfCandidates_, pfCandidatesFwdPtr_, and edm::SortedCollection< T, SORT >::size().

385  {
386  if (isCaloJet() || isJPTJet() ) {
387  if ( embeddedCaloTowers_ ) {
388  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_[i].get();
389  else if ( caloTowers_.size() > 0 ) return &caloTowers_[i];
390  else return reco::Jet::daughter(i);
391  }
392  }
393  if (isPFJet()) {
394  if ( embeddedPFCandidates_ ) {
395  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_[i].get();
396  else if ( pfCandidates_.size() > 0 ) return &pfCandidates_[i];
397  else return reco::Jet::daughter(i);
398  }
399  }
400  return reco::Jet::daughter(i);
401  }
int i
Definition: DBlmapReader.cc:9
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:475
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:480
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:218
bool embeddedCaloTowers_
Definition: Jet.h:472
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
CaloTowerCollection caloTowers_
Definition: Jet.h:474
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:481
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:478
virtual const Candidate * daughter(size_type) const
return daughter at a given position, i = 0, ... numberOfDaughters() - 1 (read only mode) ...
float pat::Jet::elecMultiplicity ( ) const
inline

chargedMultiplicity

Definition at line 304 of file Jet.h.

References reco::JPTJet::Specific::elecsInVertexInCalo, reco::JPTJet::Specific::elecsInVertexOutCalo, jptSpecific(), and edm::RefVector< C, T, F >::size().

const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector elecsInVertexInCalo
Definition: JPTJet.h:59
reco::TrackRefVector elecsInVertexOutCalo
Definition: JPTJet.h:60
size_type size() const
Size of the RefVector.
Definition: RefVector.h:85
const reco::TrackRefVector& pat::Jet::elecsInVertexInCalo ( ) const
inline

electrons fully contained in cone

Definition at line 296 of file Jet.h.

References reco::JPTJet::Specific::elecsInVertexInCalo, and jptSpecific().

296 {return jptSpecific().elecsInVertexInCalo; }
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector elecsInVertexInCalo
Definition: JPTJet.h:59
const reco::TrackRefVector& pat::Jet::elecsInVertexOutCalo ( ) const
inline

electrons that curled out

Definition at line 298 of file Jet.h.

References reco::JPTJet::Specific::elecsInVertexOutCalo, and jptSpecific().

const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector elecsInVertexOutCalo
Definition: JPTJet.h:60
const reco::TrackRefVector& pat::Jet::elecsOutVertexInCalo ( ) const
inline

electrons that curled in

Definition at line 300 of file Jet.h.

References reco::JPTJet::Specific::elecsOutVertexInCalo, and jptSpecific().

const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector elecsOutVertexInCalo
Definition: JPTJet.h:61
float pat::Jet::electronEnergy ( ) const
inline

electronEnergy

Definition at line 336 of file Jet.h.

References reco::PFJet::Specific::mElectronEnergy, and pfSpecific().

336 {return pfSpecific().mElectronEnergy;}
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mElectronEnergy
Definition: PFJet.h:52
int pat::Jet::electronMultiplicity ( ) const
inline

electronMultiplicity

Definition at line 357 of file Jet.h.

References reco::PFJet::Specific::mElectronMultiplicity, and pfSpecific().

const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
int mElectronMultiplicity
Definition: PFJet.h:60
float pat::Jet::emEnergyFraction ( ) const
inline

returns the jet electromagnetic energy fraction

Definition at line 250 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mEnergyFractionEm.

Referenced by PatZjetsJetAnalyzer::analyze(), main(), and JetIDSelectionFunctor::operator()().

float mEnergyFractionEm
Em energy fraction.
Definition: CaloJet.h:69
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float pat::Jet::emEnergyInEB ( ) const
inline

returns the jet electromagnetic energy in EB

Definition at line 260 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mEmEnergyInEB.

260 {return caloSpecific().mEmEnergyInEB;}
float mEmEnergyInEB
Em energy in EB.
Definition: CaloJet.h:61
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float pat::Jet::emEnergyInEE ( ) const
inline

returns the jet electromagnetic energy in EE

Definition at line 262 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mEmEnergyInEE.

262 {return caloSpecific().mEmEnergyInEE;}
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float mEmEnergyInEE
Em energy in EE.
Definition: CaloJet.h:63
float pat::Jet::emEnergyInHF ( ) const
inline

returns the jet electromagnetic energy extracted from HF

Definition at line 264 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mEmEnergyInHF.

264 {return caloSpecific().mEmEnergyInHF;}
float mEmEnergyInHF
Em energy in HF.
Definition: CaloJet.h:65
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float pat::Jet::energyFractionHadronic ( ) const
inline

returns the jet hadronic energy fraction

Definition at line 248 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mEnergyFractionHadronic.

float mEnergyFractionHadronic
Hadronic energy fraction.
Definition: CaloJet.h:67
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
const reco::GenJet * Jet::genJet ( ) const

return the matched generated jet

Definition at line 176 of file Jet.cc.

References genJet_, genJetFwdRef_, genJetRef_, edm::FwdRef< C, T, F >::get(), and edm::RefVector< C, T, F >::size().

Referenced by main().

176  {
177  if (genJet_.size()) return &(genJet_.front());
178  else if ( genJetRef_.size() ) return genJetRef_[0].get();
179  else return genJetFwdRef_.get();
180 }
reco::GenJetRefVector genJetRef_
Definition: Jet.h:487
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:488
T const * get() const
Returns C++ pointer to the item.
Definition: FwdRef.h:157
size_type size() const
Size of the RefVector.
Definition: RefVector.h:85
std::vector< reco::GenJet > genJet_
Definition: Jet.h:486
edm::FwdRef<reco::GenJetCollection> const& pat::Jet::genJetFwdRef ( ) const
inline

Definition at line 434 of file Jet.h.

References genJetFwdRef_.

434 { return genJetFwdRef_; }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:488
const reco::GenParticle* pat::Jet::genParton ( ) const
inline

-— methods for MC matching -—

return the matched generated parton

Definition at line 91 of file Jet.h.

References pat::PATObject< reco::Jet >::genParticle().

91 { return genParticle(); }
const reco::GenParticle * genParticle(size_t idx=0) const
Definition: PATObject.h:229
CaloTowerPtr Jet::getCaloConstituent ( unsigned  fIndex) const

convert generic constituent to specific type

============= CaloJet methods ============

get specific constituent of the CaloJet. if the caloTowers were embedded, this reference is transient only and must not be persisted

Definition at line 94 of file Jet.cc.

References caloTowers_, caloTowersFwdPtr_, reco::CompositePtrCandidate::dau, reco::CompositePtrCandidate::daughterPtr(), embeddedCaloTowers_, edm::hlt::Exception, edm::Ptr< T >::get(), edm::Ptr< T >::id(), edm::Ptr< T >::key(), and edm::SortedCollection< T, SORT >::size().

Referenced by PatZjetsJetAnalyzer::analyze().

94  {
95  if (embeddedCaloTowers_) {
96  // Refactorized PAT access
97  if ( caloTowersFwdPtr_.size() > 0 ) {
98  return (fIndex < caloTowersFwdPtr_.size() ?
99  caloTowersFwdPtr_[fIndex].ptr() : CaloTowerPtr());
100  }
101  // Compatibility PAT access
102  else {
103  if ( caloTowers_.size() > 0 ) {
104  return (fIndex < caloTowers_.size() ?
105  CaloTowerPtr(&caloTowers_, fIndex) : CaloTowerPtr());
106 
107  }
108  }
109  }
110  // Non-embedded access
111  else {
112  Constituent dau = daughterPtr (fIndex);
113  const CaloTower* caloTower = dynamic_cast <const CaloTower*> (dau.get());
114  if (caloTower != 0) {
115  return CaloTowerPtr(dau.id(), caloTower, dau.key() );
116  }
117  else {
118  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
119  }
120 
121  }
122 
123  return CaloTowerPtr ();
124 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:475
CandidatePtr daughterPtr(size_type i) const
reference to daughter at given position
daughters dau
collection of references to daughters
edm::Ptr< CaloTower > CaloTowerPtr
Definition: CaloTowerFwd.h:12
bool embeddedCaloTowers_
Definition: Jet.h:472
edm::Ptr< Candidate > Constituent
Definition: Jet.h:23
CaloTowerCollection caloTowers_
Definition: Jet.h:474
size_type size() const
std::vector< CaloTowerPtr > const & Jet::getCaloConstituents ( ) const

get the constituents of the CaloJet. If the caloTowers were embedded, these reference are transient only and must not be persisted

Definition at line 128 of file Jet.cc.

References cacheCaloTowers(), caloTowers_, caloTowersTemp_, isCaloTowerCached_, and edm::SortedCollection< T, SORT >::size().

Referenced by PatZjetsJetAnalyzer::analyze(), and JetIDSelectionFunctor::operator()().

128  {
130  return caloTowersTemp_;
131 }
std::vector< CaloTowerPtr > caloTowersTemp_
Definition: Jet.h:473
void cacheCaloTowers() const
method to cache the constituents to allow &quot;user-friendly&quot; access
Definition: Jet.cc:429
CaloTowerCollection caloTowers_
Definition: Jet.h:474
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:542
size_type size() const
const std::vector< std::pair< std::string, float > > & Jet::getPairDiscri ( ) const

get vector of paire labelname-disciValue

============= BTag information methods ============

Definition at line 286 of file Jet.cc.

References pairDiscriVector_.

286  {
287  return pairDiscriVector_;
288 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:508
reco::PFCandidatePtr Jet::getPFConstituent ( unsigned  fIndex) const

convert generic constituent to specific type

============= PFJet methods ============

get specific constituent of the CaloJet. if the caloTowers were embedded, this reference is transient only and must not be persisted

Definition at line 136 of file Jet.cc.

References reco::CompositePtrCandidate::dau, reco::CompositePtrCandidate::daughterPtr(), embeddedPFCandidates_, edm::hlt::Exception, edm::Ptr< T >::get(), edm::Ptr< T >::id(), edm::Ptr< T >::key(), pfCandidates_, and pfCandidatesFwdPtr_.

136  {
137  if (embeddedPFCandidates_) {
138  // Refactorized PAT access
139  if ( pfCandidatesFwdPtr_.size() > 0 ) {
140  return (fIndex < pfCandidatesFwdPtr_.size() ?
141  pfCandidatesFwdPtr_[fIndex].ptr() : reco::PFCandidatePtr());
142  }
143  // Compatibility PAT access
144  else {
145  if ( pfCandidates_.size() > 0 ) {
146  return (fIndex < pfCandidates_.size() ?
148 
149  }
150  }
151  }
152  // Non-embedded access
153  else {
154  Constituent dau = daughterPtr (fIndex);
155  const reco::PFCandidate* pfCandidate = dynamic_cast <const reco::PFCandidate*> (dau.get());
156  if (pfCandidate) {
157  return reco::PFCandidatePtr(dau.id(), pfCandidate, dau.key() );
158  }
159  else {
160  throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type";
161  }
162 
163  }
164 
165  return reco::PFCandidatePtr ();
166 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:480
CandidatePtr daughterPtr(size_type i) const
reference to daughter at given position
daughters dau
collection of references to daughters
edm::Ptr< Candidate > Constituent
Definition: Jet.h:23
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:34
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:481
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
bool embeddedPFCandidates_
Definition: Jet.h:478
std::vector< reco::PFCandidatePtr > const & Jet::getPFConstituents ( ) const

get the constituents of the CaloJet. If the caloTowers were embedded, these reference are transient only and must not be persisted

Definition at line 168 of file Jet.cc.

References cachePFCandidates(), isPFCandidateCached_, pfCandidates_, and pfCandidatesTemp_.

168  {
169  if ( !isPFCandidateCached_ || pfCandidates_.size() > 0 ) cachePFCandidates();
170  return pfCandidatesTemp_;
171 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:480
bool isPFCandidateCached_
Definition: Jet.h:544
void cachePFCandidates() const
method to cache the constituents to allow &quot;user-friendly&quot; access
Definition: Jet.cc:471
std::vector< reco::PFCandidatePtr > pfCandidatesTemp_
Definition: Jet.h:479
float pat::Jet::hadEnergyInHB ( ) const
inline

returns the jet hadronic energy in HB

Definition at line 252 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mHadEnergyInHB.

252 {return caloSpecific().mHadEnergyInHB;}
float mHadEnergyInHB
Hadronic energy in HB.
Definition: CaloJet.h:55
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float pat::Jet::hadEnergyInHE ( ) const
inline

returns the jet hadronic energy in HE

Definition at line 256 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mHadEnergyInHE.

256 {return caloSpecific().mHadEnergyInHE;}
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float mHadEnergyInHE
Hadronic energy in HE.
Definition: CaloJet.h:59
float pat::Jet::hadEnergyInHF ( ) const
inline

returns the jet hadronic energy in HF

Definition at line 258 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mHadEnergyInHF.

258 {return caloSpecific().mHadEnergyInHF;}
float mHadEnergyInHF
Hadronic energy in HF.
Definition: CaloJet.h:57
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float pat::Jet::hadEnergyInHO ( ) const
inline

returns the jet hadronic energy in HO

Definition at line 254 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mHadEnergyInHO.

254 {return caloSpecific().mHadEnergyInHO;}
float mHadEnergyInHO
Hadronic nergy fraction in HO.
Definition: CaloJet.h:53
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
bool pat::Jet::hasTagInfo ( const std::string  label) const
inline

check to see if the given tag info is nonzero

Definition at line 163 of file Jet.h.

References tagInfo().

163 { return tagInfo(label) != 0; }
const std::string & label
Definition: MVAComputer.cc:186
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:302
float pat::Jet::HFEMEnergy ( ) const
inline

HFEMEnergy.

Definition at line 346 of file Jet.h.

References reco::PFJet::Specific::mHFEMEnergy, and pfSpecific().

Referenced by HFEMEnergyFraction().

346 {return pfSpecific().mHFEMEnergy;}
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float pat::Jet::HFEMEnergyFraction ( ) const
inline

HFEMEnergyFraction (relative to corrected jet energy)

Definition at line 348 of file Jet.h.

References reco::LeafCandidate::energy(), and HFEMEnergy().

348 {return HFEMEnergy () / energy ();}
virtual double energy() const
energy
float HFEMEnergy() const
HFEMEnergy.
Definition: Jet.h:346
int pat::Jet::HFEMMultiplicity ( ) const
inline

HFEMMultiplicity.

Definition at line 362 of file Jet.h.

References reco::PFJet::Specific::mHFEMMultiplicity, and pfSpecific().

362 {return pfSpecific().mHFEMMultiplicity;}
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float pat::Jet::HFHadronEnergy ( ) const
inline

HFHadronEnergy.

Definition at line 342 of file Jet.h.

References reco::PFJet::Specific::mHFHadronEnergy, and pfSpecific().

Referenced by PFJetIDSelectionFunctor::firstDataCuts(), and HFHadronEnergyFraction().

342 {return pfSpecific().mHFHadronEnergy;}
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mHFHadronEnergy
Definition: PFJet.h:54
float pat::Jet::HFHadronEnergyFraction ( ) const
inline

HFHadronEnergyFraction (relative to corrected jet energy)

Definition at line 344 of file Jet.h.

References reco::LeafCandidate::energy(), and HFHadronEnergy().

344 {return HFHadronEnergy () / energy ();}
virtual double energy() const
energy
float HFHadronEnergy() const
HFHadronEnergy.
Definition: Jet.h:342
int pat::Jet::HFHadronMultiplicity ( ) const
inline

HFHadronMultiplicity.

Definition at line 360 of file Jet.h.

References reco::PFJet::Specific::mHFHadronMultiplicity, and pfSpecific().

const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
int mHFHadronMultiplicity
Definition: PFJet.h:62
void Jet::initializeJEC ( unsigned int  level,
const JetCorrFactors::Flavor flavor = JetCorrFactors::NONE,
unsigned int  set = 0 
)
private

initialize the jet to a given JEC level during creation starting from Uncorrected

============= Jet Energy Correction methods ============

Definition at line 190 of file Jet.cc.

References currentJECFlavor(), currentJECLevel(), currentJECSet(), jec_, reco::LeafCandidate::p4(), and reco::LeafCandidate::setP4().

Referenced by pat::PATJetProducer::produce().

191 {
192  currentJECSet(set);
194  currentJECFlavor(flavor);
195  setP4(jec_[set].correction(level, flavor)*p4());
196 }
virtual void setP4(const LorentzVector &p4)
set 4-momentum
JetCorrFactors::Flavor currentJECFlavor() const
return flavour of the current step of jet energy corrections
Definition: Jet.h:120
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Jet.h:118
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Jet.h:116
bool pat::Jet::isBasicJet ( ) const
inline

check to see if the jet is no more than a reco::BasicJet

Definition at line 224 of file Jet.h.

References isCaloJet(), isJPTJet(), and isPFJet().

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

224 { return !(isCaloJet() || isPFJet() || isJPTJet()); }
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:218
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
bool pat::Jet::isCaloJet ( ) const
inline

check to see if the jet is a reco::CaloJet

Definition at line 218 of file Jet.h.

References isJPTJet(), and specificCalo_.

Referenced by daughter(), isBasicJet(), numberOfDaughters(), JetIDSelectionFunctor::operator()(), and pat::PATJetProducer::produce().

218 { return !specificCalo_.empty() && !isJPTJet(); }
std::vector< CaloSpecific > specificCalo_
Definition: Jet.h:521
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
bool pat::Jet::isJPTJet ( ) const
inline

check to see if the jet is a reco::JPTJet

Definition at line 220 of file Jet.h.

References specificJPT_.

Referenced by chargedHadronEnergy(), daughter(), isBasicJet(), isCaloJet(), numberOfDaughters(), JetIDSelectionFunctor::operator()(), and pat::PATJetProducer::produce().

220 { return !specificJPT_.empty(); }
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:522
bool pat::Jet::isPFJet ( ) const
inline

check to see if the jet is a reco::PFJet

Definition at line 222 of file Jet.h.

References specificPF_.

Referenced by chargedHadronEnergy(), daughter(), PFJetIDSelectionFunctor::firstDataCuts(), isBasicJet(), numberOfDaughters(), and pat::PATJetProducer::produce().

222 { return !specificPF_.empty(); }
std::vector< PFSpecific > specificPF_
Definition: Jet.h:523
float Jet::jecFactor ( const std::string &  level,
const std::string &  flavor = "none",
const std::string &  set = "" 
) const

correction factor to the given level for a specific set of correction factors, starting from the current level

Definition at line 222 of file Jet.cc.

References edm::hlt::Exception, and jec_.

Referenced by chargedEmEnergyFraction(), chargedHadronEnergyFraction(), TtFullHadKinFitter::KinFit::corJet(), correctedJet(), main(), neutralEmEnergyFraction(), and neutralHadronEnergyFraction().

223 {
224  for(unsigned int idx=0; idx<jec_.size(); ++idx){
225  if(set.empty() || jec_.at(idx).jecSet()==set){
226  if(jec_[idx].jecLevel(level)>=0){
227  return jecFactor(jec_[idx].jecLevel(level), jec_[idx].jecFlavor(flavor), idx);
228  }
229  else{
230  throw cms::Exception("InvalidRequest") << "This JEC level " << level << " does not exist. \n";
231  }
232  }
233  }
234  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n"
235  << "for a jet energy correction set with label " << set << "\n";
236 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:222
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
tuple level
Definition: testEve_cfg.py:34
float Jet::jecFactor ( const unsigned int &  level,
const JetCorrFactors::Flavor flavor = JetCorrFactors::NONE,
const unsigned int &  set = 0 
) const

correction factor to the given level for a specific set of correction factors, starting from the current level

Definition at line 240 of file Jet.cc.

References currentJECFlavor_, currentJECLevel_, currentJECSet_, edm::hlt::Exception, jec_, jecSetAvailable(), and jecSetsAvailable().

241 {
242  if(!jecSetsAvailable()){
243  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n";
244  }
245  if(!jecSetAvailable(set)){
246  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n"
247  << "for a jet energy correction set with index " << set << "\n";
248  }
249  return jec_.at(set).correction(level, flavor)/jec_.at(currentJECSet_).correction(currentJECLevel_, currentJECFlavor_);
250 }
bool jecSetsAvailable() const
Definition: Jet.h:108
unsigned int currentJECLevel_
Definition: Jet.h:501
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
tuple level
Definition: testEve_cfg.py:34
unsigned int currentJECSet_
Definition: Jet.h:499
JetCorrFactors::Flavor currentJECFlavor_
Definition: Jet.h:504
bool jecSetAvailable(const std::string &set) const
Definition: Jet.h:111
int Jet::jecSet ( const std::string &  label) const
private

return true if this jet carries the jet correction factors of a different set, for systematic studies

index of the set of jec factors with given label; returns -1 if no set of jec factors exists with the given label

Definition at line 199 of file Jet.cc.

References jec_.

Referenced by availableJECLevels(), and jecSetAvailable().

200 {
201  for(std::vector<pat::JetCorrFactors>::const_iterator corrFactor=jec_.begin(); corrFactor!=jec_.end(); ++corrFactor)
202  if( corrFactor->jecSet()==set ){ return (corrFactor-jec_.begin()); }
203  return -1;
204 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
bool pat::Jet::jecSetAvailable ( const std::string &  set) const
inline

returns true if the jet carries a set of jet energy correction factors with the given label

Definition at line 111 of file Jet.h.

References jecSet().

Referenced by jecFactor().

111 {return (jecSet(set)>=0); };
int jecSet(const std::string &label) const
return true if this jet carries the jet correction factors of a different set, for systematic studies...
Definition: Jet.cc:199
bool pat::Jet::jecSetAvailable ( const unsigned int &  set) const
inline

returns true if the jet carries a set of jet energy correction factors with the given label

Definition at line 114 of file Jet.h.

References jec_.

114 {return (set<jec_.size()); };
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
bool pat::Jet::jecSetsAvailable ( ) const
inline

returns true if the jet carries jet energy correction information at all

Definition at line 108 of file Jet.h.

References jec_.

Referenced by jecFactor().

108 { return !jec_.empty(); }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:496
float Jet::jetCharge ( ) const

method to return the JetCharge computed when creating the Jet

Definition at line 369 of file Jet.cc.

References jetCharge_.

Referenced by setJetCharge().

369  {
370  return jetCharge_;
371 }
float jetCharge_
Definition: Jet.h:516
reco::JetID const& pat::Jet::jetID ( ) const
inline

accessing Jet ID information

Definition at line 428 of file Jet.h.

References jetID_.

Referenced by main(), and JetIDSelectionFunctor::operator()().

428 { return jetID_;}
reco::JetID jetID_
Definition: Jet.h:526
const JPTSpecific& pat::Jet::jptSpecific ( ) const
inline

retrieve the pf specific part of the jet

Definition at line 231 of file Jet.h.

References specificJPT_.

Referenced by chargedHadronEnergy(), elecMultiplicity(), elecsInVertexInCalo(), elecsInVertexOutCalo(), elecsOutVertexInCalo(), muonsInVertexInCalo(), muonsInVertexOutCalo(), muonsOutVertexInCalo(), pionsInVertexInCalo(), pionsInVertexOutCalo(), pionsOutVertexInCalo(), and zspCorrection().

231  {
232  if (specificJPT_.empty()) throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet.\n";
233  return specificJPT_[0];
234  }
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:522
float pat::Jet::maxEInEmTowers ( ) const
inline

returns the maximum energy deposited in ECAL towers

Definition at line 244 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mMaxEInEmTowers.

244 {return caloSpecific().mMaxEInEmTowers;}
float mMaxEInEmTowers
Maximum energy in EM towers.
Definition: CaloJet.h:49
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float pat::Jet::maxEInHadTowers ( ) const
inline

returns the maximum energy deposited in HCAL towers

Definition at line 246 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mMaxEInHadTowers.

246 {return caloSpecific().mMaxEInHadTowers;}
float mMaxEInHadTowers
Maximum energy in HCAL towers.
Definition: CaloJet.h:51
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
float pat::Jet::muonEnergy ( ) const
inline

muonEnergy

Definition at line 338 of file Jet.h.

References reco::PFJet::Specific::mMuonEnergy, and pfSpecific().

Referenced by muonEnergyFraction().

338 {return pfSpecific().mMuonEnergy;}
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float pat::Jet::muonEnergyFraction ( ) const
inline

muonEnergyFraction (relative to corrected jet energy)

Definition at line 340 of file Jet.h.

References reco::LeafCandidate::energy(), and muonEnergy().

340 {return muonEnergy () / energy ();}
float muonEnergy() const
muonEnergy
Definition: Jet.h:338
virtual double energy() const
energy
int pat::Jet::muonMultiplicity ( ) const
inline

muonMultiplicity

Definition at line 578 of file Jet.h.

References edm::hlt::Exception.

579 {
580  if(isPFJet()){ return pfSpecific().mMuonMultiplicity; }
582  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
583 }
reco::TrackRefVector muonsInVertexOutCalo
Definition: JPTJet.h:57
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector muonsInVertexInCalo
Definition: JPTJet.h:56
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
size_type size() const
Size of the RefVector.
Definition: RefVector.h:85
const reco::TrackRefVector& pat::Jet::muonsInVertexInCalo ( ) const
inline

muons fully contained in cone

Definition at line 290 of file Jet.h.

References jptSpecific(), and reco::JPTJet::Specific::muonsInVertexInCalo.

290 {return jptSpecific().muonsInVertexInCalo; }
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector muonsInVertexInCalo
Definition: JPTJet.h:56
const reco::TrackRefVector& pat::Jet::muonsInVertexOutCalo ( ) const
inline

muons that curled out

Definition at line 292 of file Jet.h.

References jptSpecific(), and reco::JPTJet::Specific::muonsInVertexOutCalo.

reco::TrackRefVector muonsInVertexOutCalo
Definition: JPTJet.h:57
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
const reco::TrackRefVector& pat::Jet::muonsOutVertexInCalo ( ) const
inline

muons that curled in

Definition at line 294 of file Jet.h.

References jptSpecific(), and reco::JPTJet::Specific::muonsOutVertexInCalo.

const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector muonsOutVertexInCalo
Definition: JPTJet.h:58
int pat::Jet::n60 ( ) const
inline

returns the number of constituents carrying a 60% of the total Jet energy*/

Definition at line 270 of file Jet.h.

References reco::Jet::nCarrying().

270 {return nCarrying (0.6);}
int nCarrying(float fFraction) const
return # of constituent carrying fraction of energy
Definition: Jet.cc:290
int pat::Jet::n90 ( ) const
inline

returns the number of constituents carrying a 90% of the total Jet energy*/

Definition at line 268 of file Jet.h.

References reco::Jet::nCarrying().

268 {return nCarrying (0.9);}
int nCarrying(float fFraction) const
return # of constituent carrying fraction of energy
Definition: Jet.cc:290
float pat::Jet::neutralEmEnergy ( ) const
inline

neutralEmEnergy

Definition at line 571 of file Jet.h.

References edm::hlt::Exception.

Referenced by neutralEmEnergyFraction().

572 {
573  if(isPFJet()){ return pfSpecific().mNeutralEmEnergy; }
574  else if( isJPTJet() ){ return jptSpecific().mNeutralEmEnergy;}
575  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
576 }
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mNeutralEmEnergy
Definition: JPTJet.h:65
float mNeutralEmEnergy
Definition: PFJet.h:69
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
float pat::Jet::neutralEmEnergyFraction ( ) const
inline

neutralEmEnergyFraction (relative to uncorrected jet energy)

Definition at line 328 of file Jet.h.

References reco::LeafCandidate::energy(), jecFactor(), and neutralEmEnergy().

Referenced by PFJetIDSelectionFunctor::firstDataCuts(), and main().

328 {return neutralEmEnergy()/(jecFactor(0) * energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:222
float neutralEmEnergy() const
neutralEmEnergy
Definition: Jet.h:571
virtual double energy() const
energy
float pat::Jet::neutralHadronEnergy ( ) const
inline

neutralHadronEnergy

Definition at line 557 of file Jet.h.

References edm::hlt::Exception.

Referenced by PFJetIDSelectionFunctor::firstDataCuts(), and neutralHadronEnergyFraction().

558 {
559  if(isPFJet()){ return pfSpecific().mNeutralHadronEnergy; }
560  else if( isJPTJet() ){ return jptSpecific().mNeutralHadronEnergy; }
561  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
562 }
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mNeutralHadronEnergy
Definition: PFJet.h:50
float mNeutralHadronEnergy
Definition: JPTJet.h:63
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
float pat::Jet::neutralHadronEnergyFraction ( ) const
inline

neutralHadronEnergyFraction (relative to uncorrected jet energy)

Definition at line 324 of file Jet.h.

References reco::LeafCandidate::energy(), jecFactor(), and neutralHadronEnergy().

Referenced by main().

324 {return neutralHadronEnergy()/(jecFactor(0) * energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:222
float neutralHadronEnergy() const
neutralHadronEnergy
Definition: Jet.h:557
virtual double energy() const
energy
int pat::Jet::neutralHadronMultiplicity ( ) const
inline

neutralHadronMultiplicity

Definition at line 353 of file Jet.h.

References reco::PFJet::Specific::mNeutralHadronMultiplicity, and pfSpecific().

const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
int mNeutralHadronMultiplicity
Definition: PFJet.h:58
int pat::Jet::neutralMultiplicity ( ) const
inline

neutralMultiplicity

Definition at line 370 of file Jet.h.

References reco::PFJet::Specific::mNeutralMultiplicity, and pfSpecific().

const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
int mNeutralMultiplicity
Definition: PFJet.h:71
virtual size_t pat::Jet::numberOfDaughters ( ) const
inlinevirtual

Return number of daughters: If using refactorized PAT, return that. (constituents size > 0) Else check the old version of PAT (embedded constituents size > 0) Else return the reco Jet number of constituents

Reimplemented from reco::CompositePtrCandidate.

Definition at line 409 of file Jet.h.

References caloTowers_, caloTowersFwdPtr_, embeddedCaloTowers_, embeddedPFCandidates_, isCaloJet(), isJPTJet(), isPFJet(), reco::CompositePtrCandidate::numberOfDaughters(), pfCandidates_, pfCandidatesFwdPtr_, and edm::SortedCollection< T, SORT >::size().

Referenced by cacheCaloTowers(), cachePFCandidates(), and PFJetIDSelectionFunctor::firstDataCuts().

409  {
410  if (isCaloJet() || isJPTJet()) {
411  if ( embeddedCaloTowers_ ) {
412  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_.size();
413  else if ( caloTowers_.size() > 0 ) return caloTowers_.size();
414  else return reco::Jet::numberOfDaughters();
415  }
416  }
417  if (isPFJet()) {
418  if ( embeddedPFCandidates_ ) {
419  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_.size();
420  else if ( pfCandidates_.size() > 0 ) return pfCandidates_.size();
421  else return reco::Jet::numberOfDaughters();
422  }
423  }
425  }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:475
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:480
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:218
virtual size_t numberOfDaughters() const
number of daughters
bool embeddedCaloTowers_
Definition: Jet.h:472
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:222
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:220
CaloTowerCollection caloTowers_
Definition: Jet.h:474
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:481
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:478
int Jet::partonFlavour ( ) const

return the flavour of the parton underlying the jet

Definition at line 183 of file Jet.cc.

References partonFlavour_.

Referenced by TtDilepLRSignalSelObservables::operator()().

183  {
184  return partonFlavour_;
185 }
int partonFlavour_
Definition: Jet.h:489
reco::PFCandidateFwdPtrVector const& pat::Jet::pfCandidatesFwdPtr ( ) const
inline

Definition at line 433 of file Jet.h.

References pfCandidatesFwdPtr_.

433 { return pfCandidatesFwdPtr_; }
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:481
const PFSpecific& pat::Jet::pfSpecific ( ) const
inline

retrieve the pf specific part of the jet

Definition at line 236 of file Jet.h.

References specificPF_.

Referenced by chargedHadronEnergy(), chargedHadronMultiplicity(), chargedMuEnergy(), electronEnergy(), electronMultiplicity(), HFEMEnergy(), HFEMMultiplicity(), HFHadronEnergy(), HFHadronMultiplicity(), muonEnergy(), neutralHadronMultiplicity(), neutralMultiplicity(), photonEnergy(), and photonMultiplicity().

236  {
237  if (specificPF_.empty()) throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a PFJet.\n";
238  return specificPF_[0];
239  }
std::vector< PFSpecific > specificPF_
Definition: Jet.h:523
float pat::Jet::photonEnergy ( ) const
inline

photonEnergy

Definition at line 332 of file Jet.h.

References reco::PFJet::Specific::mPhotonEnergy, and pfSpecific().

Referenced by photonEnergyFraction().

332 {return pfSpecific().mPhotonEnergy;}
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
float mPhotonEnergy
Definition: PFJet.h:51
float pat::Jet::photonEnergyFraction ( ) const
inline

photonEnergyFraction (relative to corrected jet energy)

Definition at line 334 of file Jet.h.

References reco::LeafCandidate::energy(), and photonEnergy().

334 {return photonEnergy () / energy ();}
float photonEnergy() const
photonEnergy
Definition: Jet.h:332
virtual double energy() const
energy
int pat::Jet::photonMultiplicity ( ) const
inline

photonMultiplicity

Definition at line 355 of file Jet.h.

References reco::PFJet::Specific::mPhotonMultiplicity, and pfSpecific().

const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:236
int mPhotonMultiplicity
Definition: PFJet.h:59
const reco::TrackRefVector& pat::Jet::pionsInVertexInCalo ( ) const
inline

pions fully contained in cone

Definition at line 284 of file Jet.h.

References jptSpecific(), and reco::JPTJet::Specific::pionsInVertexInCalo.

284 {return jptSpecific().pionsInVertexInCalo; }
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector pionsInVertexInCalo
Definition: JPTJet.h:53
const reco::TrackRefVector& pat::Jet::pionsInVertexOutCalo ( ) const
inline

pions that curled out

Definition at line 286 of file Jet.h.

References jptSpecific(), and reco::JPTJet::Specific::pionsInVertexOutCalo.

const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector pionsInVertexOutCalo
Definition: JPTJet.h:54
const reco::TrackRefVector& pat::Jet::pionsOutVertexInCalo ( ) const
inline

pions that curled in

Definition at line 288 of file Jet.h.

References jptSpecific(), and reco::JPTJet::Specific::pionsOutVertexInCalo.

const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231
reco::TrackRefVector pionsOutVertexInCalo
Definition: JPTJet.h:55
void Jet::setAssociatedTracks ( const reco::TrackRefVector tracks)

method to set the vector of refs to the tracks associated to this jet

Definition at line 379 of file Jet.cc.

References associatedTracks_, and testEve_cfg::tracks.

Referenced by pat::PATJetProducer::produce().

379  {
381 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:517
tuple tracks
Definition: testEve_cfg.py:39
void Jet::setCaloTowers ( const CaloTowerFwdPtrCollection caloTowers)

method to store the CaloJet constituents internally

Definition at line 384 of file Jet.cc.

References caloTowersFwdPtr_, embeddedCaloTowers_, i, and isCaloTowerCached_.

Referenced by pat::PATJetProducer::produce().

384  {
385  for(unsigned int i = 0; i < caloTowers.size(); ++i) {
386  caloTowersFwdPtr_.push_back( caloTowers.at(i) );
387  }
388  embeddedCaloTowers_ = true;
389  isCaloTowerCached_ = false;
390 }
int i
Definition: DBlmapReader.cc:9
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:475
bool embeddedCaloTowers_
Definition: Jet.h:472
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:542
void Jet::setGenJetRef ( const edm::FwdRef< reco::GenJetCollection > &  gj)

method to set the matched generated jet reference, embedding if requested

Definition at line 404 of file Jet.cc.

References genJetFwdRef_.

Referenced by pat::PATJetProducer::produce().

405 {
406  genJetFwdRef_ = gj;
407 }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:488
void pat::Jet::setGenParton ( const reco::GenParticleRef gp,
bool  embed = false 
)
inline

method to set the matched parton

Definition at line 205 of file Jet.h.

References embed, and pat::PATObject< reco::Jet >::setGenParticleRef().

Referenced by pat::PATJetProducer::produce().

205 { setGenParticleRef(gp, embed); }
void setGenParticleRef(const reco::GenParticleRef &ref, bool embed=false)
Set the generator level particle reference.
#define embed
Definition: AMPTWrapper.h:178
void Jet::setJetCharge ( float  jetCharge)

method to set the jet charge

Definition at line 422 of file Jet.cc.

References jetCharge(), and jetCharge_.

Referenced by pat::PATJetProducer::produce().

422  {
424 }
float jetCharge_
Definition: Jet.h:516
float jetCharge() const
method to return the JetCharge computed when creating the Jet
Definition: Jet.cc:369
void pat::Jet::setJetID ( reco::JetID const &  id)
inline

methods for jet ID

Definition at line 213 of file Jet.h.

References ExpressReco_HICollisions_FallBack::id, and jetID_.

Referenced by pat::PATJetProducer::produce().

void Jet::setPartonFlavour ( int  partonFl)

method to set the flavour of the parton underlying the jet

Definition at line 412 of file Jet.cc.

References partonFlavour_.

Referenced by pat::PATJetProducer::produce().

412  {
413  partonFlavour_ = partonFl;
414 }
int partonFlavour_
Definition: Jet.h:489
void Jet::setPFCandidates ( const PFCandidateFwdPtrCollection pfCandidates)

method to store the PFCandidate constituents internally

method to store the CaloJet constituents internally

Definition at line 394 of file Jet.cc.

References embeddedPFCandidates_, i, isPFCandidateCached_, and pfCandidatesFwdPtr_.

Referenced by pat::PATJetProducer::produce().

394  {
395  for(unsigned int i = 0; i < pfCandidates.size(); ++i) {
396  pfCandidatesFwdPtr_.push_back(pfCandidates.at(i));
397  }
398  embeddedPFCandidates_ = true;
399  isPFCandidateCached_ = false;
400 }
int i
Definition: DBlmapReader.cc:9
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
bool isPFCandidateCached_
Definition: Jet.h:544
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:481
bool embeddedPFCandidates_
Definition: Jet.h:478
const reco::BaseTagInfo * Jet::tagInfo ( const std::string &  label) const

get a tagInfo with the given name, or NULL if none is found. You should omit the 'TagInfos' part from the label

Definition at line 302 of file Jet.cc.

References spr::find(), label, edm::OwnVector< T, P >::size(), tagInfoLabels_, tagInfos_, and tagInfosFwdPtr_.

Referenced by hasTagInfo(), tagInfoSecondaryVertex(), tagInfoSoftLepton(), and tagInfoTrackIP().

302  {
303  std::vector<std::string>::const_iterator it = std::find(tagInfoLabels_.begin(), tagInfoLabels_.end(), label);
304  if (it != tagInfoLabels_.end()) {
305  if ( tagInfosFwdPtr_.size() > 0 ) return tagInfosFwdPtr_[it - tagInfoLabels_.begin()].get();
306  else if ( tagInfos_.size() > 0 ) return & tagInfos_[it - tagInfoLabels_.begin()];
307  return 0;
308  }
309  return 0;
310 }
const std::string & label
Definition: MVAComputer.cc:186
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:511
size_type size() const
Definition: OwnVector.h:260
void find(edm::Handle< EcalRecHitCollection > &hits, DetId thisDet, std::vector< EcalRecHitCollection::const_iterator > &hit, bool debug=false)
Definition: FindCaloHit.cc:7
edm::OwnVector< reco::BaseTagInfo > tagInfos_
Definition: Jet.h:510
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:509
template<typename T >
const T * Jet::tagInfoByType ( ) const
private

Definition at line 314 of file Jet.cc.

References i, n, edm::OwnVector< T, P >::size(), tagInfos_, and tagInfosFwdPtr_.

314  {
315  // First check the factorized PAT version
316  for (size_t i = 0, n = tagInfosFwdPtr_.size(); i < n; ++i) {
318  reco::BaseTagInfo const * baseTagInfo = val.get();
319  if ( typeid(*baseTagInfo) == typeid(T) ) {
320  return static_cast<const T *>( baseTagInfo );
321  }
322  }
323  // Then check compatibility version
324  for (size_t i = 0, n = tagInfos_.size(); i < n; ++i) {
326  reco::BaseTagInfo const * baseTagInfo = &val;
327  if ( typeid(*baseTagInfo) == typeid(T) ) {
328  return static_cast<const T *>( baseTagInfo );
329  }
330  }
331  return 0;
332 }
int i
Definition: DBlmapReader.cc:9
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:511
size_type size() const
Definition: OwnVector.h:260
Container::value_type value_type
edm::OwnVector< reco::BaseTagInfo > tagInfos_
Definition: Jet.h:510
const reco::SecondaryVertexTagInfo * Jet::tagInfoSecondaryVertex ( const std::string &  label = "") const

get a tagInfo with the given name and type or NULL if none is found. If the label is empty or not specified, it returns the first tagInfo of that type (if any one exists) you should omit the 'TagInfos' part from the label

Definition at line 349 of file Jet.cc.

References tagInfo().

349  {
350  return (label.empty() ? tagInfoByType<reco::SecondaryVertexTagInfo>()
351  : dynamic_cast<const reco::SecondaryVertexTagInfo *>(tagInfo(label)) );
352 }
const std::string & label
Definition: MVAComputer.cc:186
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:302
TagInfoFwdPtrCollection const& pat::Jet::tagInfosFwdPtr ( ) const
inline

Definition at line 435 of file Jet.h.

References tagInfosFwdPtr_.

435 { return tagInfosFwdPtr_; }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:511
const reco::SoftLeptonTagInfo * Jet::tagInfoSoftLepton ( const std::string &  label = "") const

get a tagInfo with the given name and type or NULL if none is found. If the label is empty or not specified, it returns the first tagInfo of that type (if any one exists) you should omit the 'TagInfos' part from the label

Definition at line 343 of file Jet.cc.

References tagInfo().

343  {
344  return (label.empty() ? tagInfoByType<reco::SoftLeptonTagInfo>()
345  : dynamic_cast<const reco::SoftLeptonTagInfo *>(tagInfo(label)) );
346 }
const std::string & label
Definition: MVAComputer.cc:186
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:302
const reco::TrackIPTagInfo * Jet::tagInfoTrackIP ( const std::string &  label = "") const

get a tagInfo with the given name and type or NULL if none is found. If the label is empty or not specified, it returns the first tagInfo of that type (if any one exists) you should omit the 'TagInfos' part from the label

Definition at line 337 of file Jet.cc.

References tagInfo().

337  {
338  return (label.empty() ? tagInfoByType<reco::TrackIPTagInfo>()
339  : dynamic_cast<const reco::TrackIPTagInfo *>(tagInfo(label)) );
340 }
const std::string & label
Definition: MVAComputer.cc:186
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:302
float pat::Jet::towersArea ( ) const
inline

returns area of contributing towers

Definition at line 266 of file Jet.h.

References caloSpecific(), and reco::CaloJet::Specific::mTowersArea.

266 {return caloSpecific().mTowersArea;}
float mTowersArea
Area of contributing CaloTowers.
Definition: CaloJet.h:71
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:226
void Jet::tryImportSpecific ( const reco::Jet source)
private

constructor helper that tries to import the specific info from the source jet

Definition at line 64 of file Jet.cc.

References edm::RefToBase< T >::get(), reco::JPTJet::getCaloJetRef(), reco::JPTJet::getSpecific(), reco::CaloJet::getSpecific(), edm::RefToBase< T >::isAvailable(), edm::RefToBase< T >::isNonnull(), LaserTracksInput_cfi::source, specificCalo_, specificJPT_, and specificPF_.

Referenced by Jet().

65 {
66  const std::type_info & type = typeid(source);
67  if( type == typeid(reco::CaloJet) ){
68  specificCalo_.push_back( (static_cast<const reco::CaloJet&>(source)).getSpecific() );
69  } else if( type == typeid(reco::JPTJet) ){
70  reco::JPTJet const & jptJet = static_cast<reco::JPTJet const &>(source);
71  specificJPT_.push_back( jptJet.getSpecific() );
72  reco::CaloJet const * caloJet = 0;
73  if ( jptJet.getCaloJetRef().isNonnull() && jptJet.getCaloJetRef().isAvailable() ) {
74  caloJet = dynamic_cast<reco::CaloJet const *>( jptJet.getCaloJetRef().get() );
75  }
76  if ( caloJet != 0 ) {
77  specificCalo_.push_back( caloJet->getSpecific() );
78  }
79  else {
80  edm::LogWarning("OptionalProductNotFound") << " in pat::Jet, Attempted to add Calo Specifics to JPT Jets, but failed."
81  << " Jet ID for JPT Jets will not be available for you." << std::endl;
82  }
83  } else if( type == typeid(reco::PFJet) ){
84  specificPF_.push_back( (static_cast<const reco::PFJet&>(source)).getSpecific() );
85  }
86 }
type
Definition: HCALResponse.h:22
Jets made from CaloTowers.
Definition: CaloJet.h:30
const Specific & getSpecific() const
block accessors
Definition: JPTJet.h:133
const edm::RefToBase< reco::Jet > & getCaloJetRef() const
Definition: JPTJet.h:130
Jets made from PFObjects.
Definition: PFJet.h:22
bool isAvailable() const
Definition: RefToBase.h:110
std::vector< PFSpecific > specificPF_
Definition: Jet.h:523
std::vector< CaloSpecific > specificCalo_
Definition: Jet.h:521
Jets made from CaloJets corrected for ZSP and tracks.
Definition: JPTJet.h:29
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:522
bool isNonnull() const
Checks for non-null.
Definition: RefToBase.h:274
value_type const * get() const
Definition: RefToBase.h:207
const Specific & getSpecific() const
Definition: CaloJet.h:145
void pat::Jet::updateFwdCaloTowerFwdPtr ( unsigned int  index,
edm::Ptr< CaloTower updateFwd 
)
inline

Update bare FwdPtr and FwdRef "forward" pointers while keeping the "back" pointers the same (i.e. the ref "forwarding")

Definition at line 439 of file Jet.h.

References caloTowersFwdPtr_, and edm::hlt::Exception.

439  {
440  if ( index < caloTowersFwdPtr_.size() ) {
442  } else {
443  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
444  }
445  }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:475
Container::value_type value_type
unsigned int index
Definition: LeafCandidate.h:33
void pat::Jet::updateFwdGenJetFwdRef ( edm::Ref< reco::GenJetCollection updateRef)
inline

Definition at line 464 of file Jet.h.

References edm::FwdRef< C, T, F >::backRef(), and genJetFwdRef_.

464  {
466  }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:488
Ref< C, T, F > const & backRef() const
Definition: FwdRef.h:178
void pat::Jet::updateFwdPFCandidateFwdPtr ( unsigned int  index,
edm::Ptr< reco::PFCandidate updateFwd 
)
inline

Definition at line 447 of file Jet.h.

References edm::hlt::Exception, and pfCandidatesFwdPtr_.

447  {
448  if ( index < pfCandidatesFwdPtr_.size() ) {
450  } else {
451  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
452  }
453  }
Container::value_type value_type
unsigned int index
Definition: LeafCandidate.h:33
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:481
void pat::Jet::updateFwdTagInfoFwdPtr ( unsigned int  index,
edm::Ptr< reco::BaseTagInfo updateFwd 
)
inline

Definition at line 456 of file Jet.h.

References edm::hlt::Exception, and tagInfosFwdPtr_.

456  {
457  if ( index < tagInfosFwdPtr_.size() ) {
459  } else {
460  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
461  }
462  }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:511
Container::value_type value_type
unsigned int index
Definition: LeafCandidate.h:33
const float& pat::Jet::zspCorrection ( ) const
inline

zero suppression correction

Definition at line 302 of file Jet.h.

References jptSpecific(), and reco::JPTJet::Specific::mZSPCor.

302 {return jptSpecific().mZSPCor;}
const JPTSpecific & jptSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:231

Friends And Related Function Documentation

friend class PATJetProducer
friend

make friends with PATJetProducer so that it can set the an initial jet energy scale unequal to raw calling the private initializeJEC function, which should be non accessible to any other user

Definition at line 71 of file Jet.h.

Member Data Documentation

reco::TrackRefVector pat::Jet::associatedTracks_
protected

Definition at line 517 of file Jet.h.

Referenced by associatedTracks(), and setAssociatedTracks().

CaloTowerCollection pat::Jet::caloTowers_
protected
CaloTowerFwdPtrVector pat::Jet::caloTowersFwdPtr_
protected
std::vector<CaloTowerPtr> pat::Jet::caloTowersTemp_
mutableprotected

Definition at line 473 of file Jet.h.

Referenced by cacheCaloTowers(), and getCaloConstituents().

JetCorrFactors::Flavor pat::Jet::currentJECFlavor_
protected

Definition at line 504 of file Jet.h.

Referenced by currentJECFlavor(), and jecFactor().

unsigned int pat::Jet::currentJECLevel_
protected

Definition at line 501 of file Jet.h.

Referenced by currentJECLevel(), and jecFactor().

unsigned int pat::Jet::currentJECSet_
protected

Definition at line 499 of file Jet.h.

Referenced by currentJECLevel(), currentJECSet(), and jecFactor().

bool pat::Jet::embeddedCaloTowers_
protected
bool pat::Jet::embeddedPFCandidates_
protected
std::vector<reco::GenJet> pat::Jet::genJet_
protected

Definition at line 486 of file Jet.h.

Referenced by genJet().

edm::FwdRef<reco::GenJetCollection> pat::Jet::genJetFwdRef_
protected

Definition at line 488 of file Jet.h.

Referenced by genJet(), genJetFwdRef(), setGenJetRef(), and updateFwdGenJetFwdRef().

reco::GenJetRefVector pat::Jet::genJetRef_
protected

Definition at line 487 of file Jet.h.

Referenced by genJet().

bool pat::Jet::isCaloTowerCached_
mutableprivate

cache calo towers

Definition at line 542 of file Jet.h.

Referenced by cacheCaloTowers(), getCaloConstituents(), and setCaloTowers().

bool pat::Jet::isPFCandidateCached_
mutableprivate

Definition at line 544 of file Jet.h.

Referenced by cachePFCandidates(), getPFConstituents(), and setPFCandidates().

std::vector<pat::JetCorrFactors> pat::Jet::jec_
protected
float pat::Jet::jetCharge_
protected

Definition at line 516 of file Jet.h.

Referenced by jetCharge(), and setJetCharge().

reco::JetID pat::Jet::jetID_
protected

Definition at line 526 of file Jet.h.

Referenced by jetID(), and setJetID().

std::vector<std::pair<std::string, float> > pat::Jet::pairDiscriVector_
protected

Definition at line 508 of file Jet.h.

Referenced by addBDiscriminatorPair(), bDiscriminator(), and getPairDiscri().

int pat::Jet::partonFlavour_
protected

Definition at line 489 of file Jet.h.

Referenced by partonFlavour(), and setPartonFlavour().

reco::PFCandidateCollection pat::Jet::pfCandidates_
protected
reco::PFCandidateFwdPtrVector pat::Jet::pfCandidatesFwdPtr_
protected
std::vector<reco::PFCandidatePtr> pat::Jet::pfCandidatesTemp_
mutableprotected

Definition at line 479 of file Jet.h.

Referenced by cachePFCandidates(), and getPFConstituents().

std::vector<CaloSpecific> pat::Jet::specificCalo_
protected

Definition at line 521 of file Jet.h.

Referenced by caloSpecific(), isCaloJet(), and tryImportSpecific().

std::vector<JPTSpecific> pat::Jet::specificJPT_
protected

Definition at line 522 of file Jet.h.

Referenced by isJPTJet(), jptSpecific(), and tryImportSpecific().

std::vector<PFSpecific> pat::Jet::specificPF_
protected

Definition at line 523 of file Jet.h.

Referenced by isPFJet(), pfSpecific(), and tryImportSpecific().

std::vector<std::string> pat::Jet::tagInfoLabels_
protected

Definition at line 509 of file Jet.h.

Referenced by addTagInfo(), and tagInfo().

edm::OwnVector<reco::BaseTagInfo> pat::Jet::tagInfos_
protected

Definition at line 510 of file Jet.h.

Referenced by tagInfo(), and tagInfoByType().

TagInfoFwdPtrCollection pat::Jet::tagInfosFwdPtr_
protected

Definition at line 511 of file Jet.h.

Referenced by addTagInfo(), tagInfo(), tagInfoByType(), tagInfosFwdPtr(), and updateFwdTagInfoFwdPtr().