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...
 
float electronEnergyFraction () const
 electronEnergyFraction (relative to corrected jet energy) 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 jpt 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 setCaloSpecific (CaloSpecific newCaloSpecific)
 set the calo specific part of the 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 setJPTSpecific (JPTSpecific newJPTSpecific)
 set the jpt specific part of the jet 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...
 
void setPFSpecific (PFSpecific newPFSpecific)
 set the pf specific part of the jet 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 hasUserFloat (const char *key) const
 a CINT-friendly interface 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=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, const size_t idx=0) const
 
const TriggerObjectStandAlonetriggerObjectMatchByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1, 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=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const bool pathLastFilterAccepted=false, const bool pathL3FilterAccepted=true) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const std::string &namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) const
 
const
TriggerObjectStandAloneCollection 
triggerObjectMatchesByPath (const char *namePath, const unsigned pathLastFilterAccepted, const unsigned pathL3FilterAccepted=1) 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 TuserData (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
 
float userFloat (const char *key) const
 a CINT-friendly interface More...
 
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 constituentEtaPhiSpread () const
 
float constituentPtDistribution () const
 
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 >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T 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 >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T 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
bool cacheCartesianFixed_
 
bool 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 TtagInfoByType () 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
 
std::ostream & reco::operator<< (std::ostream &out, const pat::Jet &obj)
 pipe operator (introduced to use pat::Jet with PFTopProjectors) More...
 

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.56 2011/08/10 13:50:38 eschliec Exp

Definition at line 71 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:513
Base class for all types of Jets.
Definition: Jet.h:21
bool embeddedCaloTowers_
Definition: Jet.h:496
bool isPFCandidateCached_
Definition: Jet.h:568
float jetCharge_
Definition: Jet.h:540
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:566
bool embeddedPFCandidates_
Definition: Jet.h:502
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:513
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:81
bool embeddedCaloTowers_
Definition: Jet.h:496
bool isPFCandidateCached_
Definition: Jet.h:568
float jetCharge_
Definition: Jet.h:540
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:566
bool embeddedPFCandidates_
Definition: Jet.h:502
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:513
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:81
bool embeddedCaloTowers_
Definition: Jet.h:496
bool isPFCandidateCached_
Definition: Jet.h:568
float jetCharge_
Definition: Jet.h:540
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:566
bool embeddedPFCandidates_
Definition: Jet.h:502
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:513
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:81
bool embeddedCaloTowers_
Definition: Jet.h:496
bool isPFCandidateCached_
Definition: Jet.h:568
float jetCharge_
Definition: Jet.h:540
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:566
bool embeddedPFCandidates_
Definition: Jet.h:502
Jet::~Jet ( )
virtual

destructor

Reimplemented from reco::Jet.

Definition at line 106 of file Jet.cc.

106  {
107 }

Member Function Documentation

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

method to add a algolabel-discriminator pair

Definition at line 434 of file Jet.cc.

References pairDiscriVector_.

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

434  {
435  pairDiscriVector_.push_back(thePair);
436 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:532
void pat::Jet::addJECFactors ( const JetCorrFactors jec)
inlineprivate

add more sets of energy correction factors

Definition at line 155 of file Jet.h.

References jec_.

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

155 {jec_.push_back(jec); };
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
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 372 of file Jet.cc.

References tagInfoLabels_, and tagInfosFwdPtr_.

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

373  {
374  std::string::size_type idx = label.find("TagInfos");
375  if (idx == std::string::npos) {
376  tagInfoLabels_.push_back(label);
377  } else {
378  tagInfoLabels_.push_back(label.substr(0,idx));
379  }
380  tagInfosFwdPtr_.push_back(info);
381 }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:535
uint16_t size_type
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:533
const reco::TrackRefVector & Jet::associatedTracks ( ) const

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

Definition at line 391 of file Jet.cc.

References associatedTracks_.

391  {
392  return associatedTracks_;
393 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:541
const std::vector< std::string > Jet::availableJECLevels ( const int &  set = 0) const

Definition at line 232 of file Jet.cc.

References jec_.

Referenced by PATJetCorrExtractor::operator()().

233 {
234  return set>=0 ? jec_.at(set).correctionLabels() : std::vector<std::string>();
235 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
void set(const std::string &name, int value)
set the flag, with a run-time name
const std::vector<std::string> pat::Jet::availableJECLevels ( const std::string &  set) const
inline

Definition at line 109 of file Jet.h.

References availableJECLevels(), and jecSet().

Referenced by availableJECLevels().

109 { return availableJECLevels(jecSet(set)); };
const std::vector< std::string > availableJECLevels(const int &set=0) const
Definition: Jet.cc:232
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:216
void set(const std::string &name, int value)
set the flag, with a run-time name
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 224 of file Jet.cc.

References jec_.

225 {
226  std::vector<std::string> sets;
227  for(std::vector<pat::JetCorrFactors>::const_iterator corrFactor=jec_.begin(); corrFactor!=jec_.end(); ++corrFactor)
228  sets.push_back(corrFactor->jecSet());
229  return sets;
230 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
float Jet::bDiscriminator ( const std::string &  theLabel) const

-— methods for accessing b-tagging info -—

get b discriminant from label name

Definition at line 308 of file Jet.cc.

References first, i, and pairDiscriVector_.

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

308  {
309  float discriminator = -1000.;
310  const std::string & theLabel = ((aLabel == "" || aLabel == "default")) ? "trackCountingHighEffBJetTags" : aLabel;
311  for(unsigned int i=0; i!=pairDiscriVector_.size(); i++){
312  if(pairDiscriVector_[i].first == theLabel){
313  discriminator = pairDiscriVector_[i].second;
314  }
315  }
316  return discriminator;
317 }
int i
Definition: DBlmapReader.cc:9
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:532
bool first
Definition: L1TdeRCT.cc:94
void Jet::cacheCaloTowers ( ) const
private

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

Definition at line 446 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().

446  {
447  // Clear the cache
448  caloTowersTemp_.clear();
449  // Here is where we've embedded constituents
450  if ( embeddedCaloTowers_ ) {
451  // Refactorized PAT access
452  if ( caloTowersFwdPtr_.size() > 0 ) {
453  for ( CaloTowerFwdPtrVector::const_iterator ibegin=caloTowersFwdPtr_.begin(),
454  iend = caloTowersFwdPtr_.end(),
455  icalo = ibegin;
456  icalo != iend; ++icalo ) {
457  caloTowersTemp_.push_back( CaloTowerPtr(icalo->ptr() ) );
458  }
459  }
460  // Compatibility access
461  else if ( caloTowers_.size() > 0 ) {
463  iend = caloTowers_.end(),
464  icalo = ibegin;
465  icalo != iend; ++icalo ) {
466  caloTowersTemp_.push_back( CaloTowerPtr(&caloTowers_, icalo - ibegin ) );
467  }
468  }
469  }
470  // Non-embedded access
471  else {
472  for ( unsigned fIndex = 0; fIndex < numberOfDaughters(); ++fIndex ) {
473  Constituent const & dau = daughterPtr (fIndex);
474  const CaloTower* caloTower = dynamic_cast <const CaloTower*> (dau.get());
475  if (caloTower) {
476  caloTowersTemp_.push_back( CaloTowerPtr(dau.id(), caloTower,dau.key() ) );
477  }
478  else {
479  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
480  }
481  }
482  }
483  // Set the cache flag
484  isCaloTowerCached_=true;
485 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:499
std::vector< CaloTowerPtr > caloTowersTemp_
Definition: Jet.h:497
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:496
const_iterator end() const
edm::Ptr< Candidate > Constituent
Definition: Jet.h:23
virtual size_t numberOfDaughters() const
Definition: Jet.h:430
CaloTowerCollection caloTowers_
Definition: Jet.h:498
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:566
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 488 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().

488  {
489  // Clear the cache
490  pfCandidatesTemp_.clear();
491  // Here is where we've embedded constituents
492  if ( embeddedPFCandidates_ ) {
493  // Refactorized PAT access
494  if ( pfCandidatesFwdPtr_.size() > 0 ) {
495  for ( PFCandidateFwdPtrCollection::const_iterator ibegin=pfCandidatesFwdPtr_.begin(),
496  iend = pfCandidatesFwdPtr_.end(),
497  ipf = ibegin;
498  ipf != iend; ++ipf ) {
499  pfCandidatesTemp_.push_back( reco::PFCandidatePtr(ipf->ptr() ) );
500  }
501  }
502  // Compatibility access
503  else if ( pfCandidates_.size() > 0 ) {
504  for ( reco::PFCandidateCollection::const_iterator ibegin=pfCandidates_.begin(),
505  iend = pfCandidates_.end(),
506  ipf = ibegin;
507  ipf != iend; ++ipf ) {
508  pfCandidatesTemp_.push_back( reco::PFCandidatePtr(&pfCandidates_, ipf - ibegin ) );
509  }
510  }
511  }
512  // Non-embedded access
513  else {
514  for ( unsigned fIndex = 0; fIndex < numberOfDaughters(); ++fIndex ) {
515  Constituent const & dau = daughterPtr (fIndex);
516  const reco::PFCandidate* pfCandidate = dynamic_cast <const reco::PFCandidate*> (dau.get());
517  if (pfCandidate) {
518  pfCandidatesTemp_.push_back( reco::PFCandidatePtr(dau.id(), pfCandidate,dau.key() ) );
519  }
520  else {
521  throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type";
522  }
523  }
524  }
525  // Set the cache flag
527 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:504
CandidatePtr daughterPtr(size_type i) const
reference to daughter at given position
daughters dau
collection of references to daughters
bool isPFCandidateCached_
Definition: Jet.h:568
edm::Ptr< Candidate > Constituent
Definition: Jet.h:23
virtual size_t numberOfDaughters() const
Definition: Jet.h:430
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:33
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:505
std::vector< reco::PFCandidatePtr > pfCandidatesTemp_
Definition: Jet.h:503
bool embeddedPFCandidates_
Definition: Jet.h:502
const CaloSpecific& pat::Jet::caloSpecific ( ) const
inline

retrieve the calo specific part of the jet

Definition at line 230 of file Jet.h.

References specificCalo_.

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

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

Access to bare FwdPtr collections.

Definition at line 453 of file Jet.h.

References caloTowersFwdPtr_.

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

chargedEmEnergy

Definition at line 588 of file Jet.h.

References edm::hlt::Exception.

Referenced by chargedEmEnergyFraction().

589 {
590  if(isPFJet()){ return pfSpecific().mChargedEmEnergy; }
591  else if( isJPTJet() ){ return jptSpecific().mChargedEmEnergy;}
592  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
593 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
float mChargedEmEnergy
Definition: JPTJet.h:64
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:240
float mChargedEmEnergy
Definition: PFJet.h:67
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
float pat::Jet::chargedEmEnergyFraction ( ) const
inline

chargedEmEnergyFraction (relative to uncorrected jet energy)

Definition at line 345 of file Jet.h.

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

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

345 {return chargedEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
float chargedEmEnergy() const
chargedEmEnergy
Definition: Jet.h:588
virtual double energy() const
energy
float pat::Jet::chargedHadronEnergy ( ) const
inline

chargedHadronEnergy

Definition at line 574 of file Jet.h.

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

Referenced by chargedHadronEnergyFraction().

575 {
576  if(isPFJet()){ return pfSpecific().mChargedHadronEnergy; }
577  else if( isJPTJet() ){ return jptSpecific().mChargedHadronEnergy; }
578  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
579 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:240
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:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
float pat::Jet::chargedHadronEnergyFraction ( ) const
inline

chargedHadronEnergyFraction (relative to uncorrected jet energy)

Definition at line 341 of file Jet.h.

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

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

341 {return chargedHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
float chargedHadronEnergy() const
chargedHadronEnergy
Definition: Jet.h:574
virtual double energy() const
energy
int pat::Jet::chargedHadronMultiplicity ( ) const
inline

chargedHadronMultiplicity

Definition at line 372 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:240
int mChargedHadronMultiplicity
Definition: PFJet.h:57
float pat::Jet::chargedMuEnergy ( ) const
inline

chargedMuEnergy

Definition at line 386 of file Jet.h.

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

Referenced by chargedMuEnergyFraction().

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

chargedMuEnergyFraction

Definition at line 388 of file Jet.h.

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

388 {return chargedMuEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
virtual double energy() const
energy
float chargedMuEnergy() const
chargedMuEnergy
Definition: Jet.h:386
int pat::Jet::chargedMultiplicity ( ) const
inline

chargedMultiplicity

Definition at line 609 of file Jet.h.

References edm::hlt::Exception.

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

610 {
611  if(isPFJet()){ return pfSpecific().mChargedMultiplicity; }
615  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
616 }
reco::TrackRefVector muonsInVertexOutCalo
Definition: JPTJet.h:57
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
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:240
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:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
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:89
virtual Jet* pat::Jet::clone ( void  ) const
inlinevirtual

required reimplementation of the Candidate's clone method

Reimplemented from reco::CompositePtrCandidate.

Definition at line 90 of file Jet.h.

References Jet().

90 { 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 271 of file Jet.cc.

References edm::hlt::Exception, jec_, and runtimedef::set().

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(), hitfit::JetTranslatorBase< AJet >::operator()(), and PFJetIDSelectionFunctor::operator()().

272 {
273  // rescale p4 of the jet; the update of current values is
274  // done within the called jecFactor function
275  for(unsigned int idx=0; idx<jec_.size(); ++idx){
276  if(set.empty() || jec_.at(idx).jecSet()==set){
277  if(jec_[idx].jecLevel(level)>=0){
278  return correctedJet(jec_[idx].jecLevel(level), jec_[idx].jecFlavor(flavor), idx);
279  }
280  else{
281  throw cms::Exception("InvalidRequest") << "This JEC level " << level << " does not exist. \n";
282  }
283  }
284  }
285  throw cms::Exception("InvalidRequest") << "This JEC set " << set << " does not exist. \n";
286 }
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:271
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
tuple level
Definition: testEve_cfg.py:34
void set(const std::string &name, int value)
set the flag, with a run-time name
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 290 of file Jet.cc.

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

291 {
292  Jet correctedJet(*this);
293  //rescale p4 of the jet
294  correctedJet.setP4(jecFactor(level, flavor, set)*p4());
295  // update current level, flavor and set
297  return correctedJet;
298 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:271
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:124
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Jet.h:122
Analysis-level calorimeter jet class.
Definition: Jet.h:71
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:120
void set(const std::string &name, int value)
set the flag, with a run-time name
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 139 of file Jet.h.

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

Referenced by PFJetMETcorrInputProducer_namespace::RawJetExtractorT< pat::Jet >::operator()(), CaloJetMETcorrInputProducer_namespace::RawJetExtractorT< pat::Jet >::operator()(), PATJetCorrExtractor::operator()(), SmearedJetProducer_namespace::RawJetExtractorT< pat::Jet >::operator()(), and JetIDSelectionFunctor::operator()().

139 { 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:271
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
void set(const std::string &name, int value)
set the flag, with a run-time name
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 142 of file Jet.h.

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

142 { 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:271
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
void set(const std::string &name, int value)
set the flag, with a run-time name
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 124 of file Jet.h.

References currentJECFlavor_.

Referenced by correctedJet(), and initializeJEC().

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

update the current JEC flavor; used by correctedJet

Definition at line 153 of file Jet.h.

References currentJECFlavor_.

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

return the name of the current step of jet energy corrections

Definition at line 122 of file Jet.h.

References currentJECLevel_, currentJECSet_, and jec_.

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

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

update the current JEC level; used by correctedJet

Definition at line 151 of file Jet.h.

References currentJECLevel_, and testEve_cfg::level.

unsigned int currentJECLevel_
Definition: Jet.h:525
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 120 of file Jet.h.

References currentJECSet_, and jec_.

Referenced by correctedJet(), and initializeJEC().

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

update the current JEC set; used by correctedJet

Definition at line 149 of file Jet.h.

References currentJECSet_, and runtimedef::set().

149 { currentJECSet_=set; };
unsigned int currentJECSet_
Definition: Jet.h:523
void set(const std::string &name, int value)
set the flag, with a run-time name
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 406 of file Jet.h.

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

406  {
407  if (isCaloJet() || isJPTJet() ) {
408  if ( embeddedCaloTowers_ ) {
409  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_[i].get();
410  else if ( caloTowers_.size() > 0 ) return &caloTowers_[i];
411  else return reco::Jet::daughter(i);
412  }
413  }
414  if (isPFJet()) {
415  if ( embeddedPFCandidates_ ) {
416  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_[i].get();
417  else if ( pfCandidates_.size() > 0 ) return &pfCandidates_[i];
418  else return reco::Jet::daughter(i);
419  }
420  }
421  return reco::Jet::daughter(i);
422  }
int i
Definition: DBlmapReader.cc:9
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:499
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:504
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:222
bool embeddedCaloTowers_
Definition: Jet.h:496
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
CaloTowerCollection caloTowers_
Definition: Jet.h:498
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:505
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:502
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 323 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 jpt specific part of the jet
Definition: Jet.h:235
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:89
const reco::TrackRefVector& pat::Jet::elecsInVertexInCalo ( ) const
inline

electrons fully contained in cone

Definition at line 315 of file Jet.h.

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

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

electrons that curled out

Definition at line 317 of file Jet.h.

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

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

electrons that curled in

Definition at line 319 of file Jet.h.

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

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

electronEnergy

Definition at line 355 of file Jet.h.

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

Referenced by electronEnergyFraction().

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

electronEnergyFraction (relative to corrected jet energy)

Definition at line 357 of file Jet.h.

References electronEnergy(), reco::LeafCandidate::energy(), jecFactor(), and jecSetsAvailable().

357 {return electronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
virtual double energy() const
energy
float electronEnergy() const
electronEnergy
Definition: Jet.h:355
int pat::Jet::electronMultiplicity ( ) const
inline

electronMultiplicity

Definition at line 378 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:240
int mElectronMultiplicity
Definition: PFJet.h:60
float pat::Jet::emEnergyFraction ( ) const
inline

returns the jet electromagnetic energy fraction

Definition at line 269 of file Jet.h.

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

Referenced by 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:230
float pat::Jet::emEnergyInEB ( ) const
inline

returns the jet electromagnetic energy in EB

Definition at line 279 of file Jet.h.

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

279 {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:230
float pat::Jet::emEnergyInEE ( ) const
inline

returns the jet electromagnetic energy in EE

Definition at line 281 of file Jet.h.

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

281 {return caloSpecific().mEmEnergyInEE;}
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:230
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 283 of file Jet.h.

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

283 {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:230
float pat::Jet::energyFractionHadronic ( ) const
inline

returns the jet hadronic energy fraction

Definition at line 267 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:230
const reco::GenJet * Jet::genJet ( ) const

return the matched generated jet

Definition at line 193 of file Jet.cc.

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

Referenced by SmearedJetProducer_namespace::GenJetMatcherT< pat::Jet >::operator()().

193  {
194  if (genJet_.size()) return &(genJet_.front());
195  else if ( genJetRef_.size() ) return genJetRef_[0].get();
196  else return genJetFwdRef_.get();
197 }
reco::GenJetRefVector genJetRef_
Definition: Jet.h:511
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:512
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:89
std::vector< reco::GenJet > genJet_
Definition: Jet.h:510
edm::FwdRef<reco::GenJetCollection> const& pat::Jet::genJetFwdRef ( ) const
inline

Definition at line 455 of file Jet.h.

References genJetFwdRef_.

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

-— methods for MC matching -—

return the matched generated parton

Definition at line 95 of file Jet.h.

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

95 { return genParticle(); }
const reco::GenParticle * genParticle(size_t idx=0) const
Definition: PATObject.h:234
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 111 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().

111  {
112  if (embeddedCaloTowers_) {
113  // Refactorized PAT access
114  if ( caloTowersFwdPtr_.size() > 0 ) {
115  return (fIndex < caloTowersFwdPtr_.size() ?
116  caloTowersFwdPtr_[fIndex].ptr() : CaloTowerPtr());
117  }
118  // Compatibility PAT access
119  else {
120  if ( caloTowers_.size() > 0 ) {
121  return (fIndex < caloTowers_.size() ?
122  CaloTowerPtr(&caloTowers_, fIndex) : CaloTowerPtr());
123 
124  }
125  }
126  }
127  // Non-embedded access
128  else {
129  Constituent dau = daughterPtr (fIndex);
130  const CaloTower* caloTower = dynamic_cast <const CaloTower*> (dau.get());
131  if (caloTower != 0) {
132  return CaloTowerPtr(dau.id(), caloTower, dau.key() );
133  }
134  else {
135  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
136  }
137 
138  }
139 
140  return CaloTowerPtr ();
141 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:499
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:496
edm::Ptr< Candidate > Constituent
Definition: Jet.h:23
CaloTowerCollection caloTowers_
Definition: Jet.h:498
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 145 of file Jet.cc.

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

Referenced by JetIDSelectionFunctor::operator()().

145  {
147  return caloTowersTemp_;
148 }
std::vector< CaloTowerPtr > caloTowersTemp_
Definition: Jet.h:497
void cacheCaloTowers() const
method to cache the constituents to allow &quot;user-friendly&quot; access
Definition: Jet.cc:446
CaloTowerCollection caloTowers_
Definition: Jet.h:498
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:566
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 303 of file Jet.cc.

References pairDiscriVector_.

Referenced by AnalysisTasksAnalyzerBTag::analyze().

303  {
304  return pairDiscriVector_;
305 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:532
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 153 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_.

153  {
154  if (embeddedPFCandidates_) {
155  // Refactorized PAT access
156  if ( pfCandidatesFwdPtr_.size() > 0 ) {
157  return (fIndex < pfCandidatesFwdPtr_.size() ?
158  pfCandidatesFwdPtr_[fIndex].ptr() : reco::PFCandidatePtr());
159  }
160  // Compatibility PAT access
161  else {
162  if ( pfCandidates_.size() > 0 ) {
163  return (fIndex < pfCandidates_.size() ?
165 
166  }
167  }
168  }
169  // Non-embedded access
170  else {
171  Constituent dau = daughterPtr (fIndex);
172  const reco::PFCandidate* pfCandidate = dynamic_cast <const reco::PFCandidate*> (dau.get());
173  if (pfCandidate) {
174  return reco::PFCandidatePtr(dau.id(), pfCandidate, dau.key() );
175  }
176  else {
177  throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type";
178  }
179 
180  }
181 
182  return reco::PFCandidatePtr ();
183 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:504
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:33
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:505
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
bool embeddedPFCandidates_
Definition: Jet.h:502
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 185 of file Jet.cc.

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

185  {
186  if ( !isPFCandidateCached_ || pfCandidates_.size() > 0 ) cachePFCandidates();
187  return pfCandidatesTemp_;
188 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:504
bool isPFCandidateCached_
Definition: Jet.h:568
void cachePFCandidates() const
method to cache the constituents to allow &quot;user-friendly&quot; access
Definition: Jet.cc:488
std::vector< reco::PFCandidatePtr > pfCandidatesTemp_
Definition: Jet.h:503
float pat::Jet::hadEnergyInHB ( ) const
inline

returns the jet hadronic energy in HB

Definition at line 271 of file Jet.h.

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

271 {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:230
float pat::Jet::hadEnergyInHE ( ) const
inline

returns the jet hadronic energy in HE

Definition at line 275 of file Jet.h.

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

275 {return caloSpecific().mHadEnergyInHE;}
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:230
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 277 of file Jet.h.

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

277 {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:230
float pat::Jet::hadEnergyInHO ( ) const
inline

returns the jet hadronic energy in HO

Definition at line 273 of file Jet.h.

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

273 {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:230
bool pat::Jet::hasTagInfo ( const std::string  label) const
inline

check to see if the given tag info is nonzero

Definition at line 167 of file Jet.h.

References tagInfo().

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

HFEMEnergy.

Definition at line 367 of file Jet.h.

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

Referenced by HFEMEnergyFraction().

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

HFEMEnergyFraction (relative to corrected jet energy)

Definition at line 369 of file Jet.h.

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

369 {return HFEMEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
virtual double energy() const
energy
float HFEMEnergy() const
HFEMEnergy.
Definition: Jet.h:367
int pat::Jet::HFEMMultiplicity ( ) const
inline

HFEMMultiplicity.

Definition at line 383 of file Jet.h.

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

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

HFHadronEnergy.

Definition at line 363 of file Jet.h.

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

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

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

HFHadronEnergyFraction (relative to corrected jet energy)

Definition at line 365 of file Jet.h.

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

365 {return HFHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
virtual double energy() const
energy
float HFHadronEnergy() const
HFHadronEnergy.
Definition: Jet.h:363
int pat::Jet::HFHadronMultiplicity ( ) const
inline

HFHadronMultiplicity.

Definition at line 381 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:240
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 207 of file Jet.cc.

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

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

208 {
211  currentJECFlavor(flavor);
212  setP4(jec_[set].correction(level, flavor)*p4());
213 }
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:124
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Jet.h:122
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:120
void set(const std::string &name, int value)
set the flag, with a run-time name
bool pat::Jet::isBasicJet ( ) const
inline

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

Definition at line 228 of file Jet.h.

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

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

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

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

Definition at line 222 of file Jet.h.

References isJPTJet(), and specificCalo_.

Referenced by hitfit::JetTranslatorBase< AJet >::CheckEta(), daughter(), isBasicJet(), numberOfDaughters(), CaloJetMETcorrInputProducer_namespace::InputTypeCheckerT< pat::Jet >::operator()(), hitfit::JetTranslatorBase< AJet >::operator()(), JetIDSelectionFunctor::operator()(), and pat::PATJetProducer::produce().

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

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

Definition at line 224 of file Jet.h.

References specificJPT_.

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

224 { return !specificJPT_.empty(); }
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:546
bool pat::Jet::isPFJet ( ) const
inline
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 239 of file Jet.cc.

References edm::hlt::Exception, jec_, and runtimedef::set().

Referenced by chargedEmEnergyFraction(), chargedHadronEnergyFraction(), chargedMuEnergyFraction(), TtFullHadKinFitter::KinFit::corJet(), correctedJet(), electronEnergyFraction(), HFEMEnergyFraction(), HFHadronEnergyFraction(), muonEnergyFraction(), neutralEmEnergyFraction(), neutralHadronEnergyFraction(), and photonEnergyFraction().

240 {
241  for(unsigned int idx=0; idx<jec_.size(); ++idx){
242  if(set.empty() || jec_.at(idx).jecSet()==set){
243  if(jec_[idx].jecLevel(level)>=0){
244  return jecFactor(jec_[idx].jecLevel(level), jec_[idx].jecFlavor(flavor), idx);
245  }
246  else{
247  throw cms::Exception("InvalidRequest") << "This JEC level " << level << " does not exist. \n";
248  }
249  }
250  }
251  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n"
252  << "for a jet energy correction set with label " << set << "\n";
253 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
tuple level
Definition: testEve_cfg.py:34
void set(const std::string &name, int value)
set the flag, with a run-time name
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 257 of file Jet.cc.

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

258 {
259  if(!jecSetsAvailable()){
260  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n";
261  }
262  if(!jecSetAvailable(set)){
263  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n"
264  << "for a jet energy correction set with index " << set << "\n";
265  }
266  return jec_.at(set).correction(level, flavor)/jec_.at(currentJECSet_).correction(currentJECLevel_, currentJECFlavor_);
267 }
bool jecSetsAvailable() const
Definition: Jet.h:112
unsigned int currentJECLevel_
Definition: Jet.h:525
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
tuple level
Definition: testEve_cfg.py:34
unsigned int currentJECSet_
Definition: Jet.h:523
JetCorrFactors::Flavor currentJECFlavor_
Definition: Jet.h:528
bool jecSetAvailable(const std::string &set) const
Definition: Jet.h:115
void set(const std::string &name, int value)
set the flag, with a run-time name
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 216 of file Jet.cc.

References jec_, and runtimedef::set().

Referenced by availableJECLevels(), and jecSetAvailable().

217 {
218  for(std::vector<pat::JetCorrFactors>::const_iterator corrFactor=jec_.begin(); corrFactor!=jec_.end(); ++corrFactor)
219  if( corrFactor->jecSet()==set ){ return (corrFactor-jec_.begin()); }
220  return -1;
221 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
void set(const std::string &name, int value)
set the flag, with a run-time name
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 115 of file Jet.h.

References jecSet().

Referenced by jecFactor().

115 {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:216
void set(const std::string &name, int value)
set the flag, with a run-time name
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 118 of file Jet.h.

References jec_.

118 {return (set<jec_.size()); };
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:520
void set(const std::string &name, int value)
set the flag, with a run-time name
bool pat::Jet::jecSetsAvailable ( ) const
inline
float Jet::jetCharge ( ) const

method to return the JetCharge computed when creating the Jet

Definition at line 386 of file Jet.cc.

References jetCharge_.

Referenced by setJetCharge().

386  {
387  return jetCharge_;
388 }
float jetCharge_
Definition: Jet.h:540
reco::JetID const& pat::Jet::jetID ( ) const
inline

accessing Jet ID information

Definition at line 449 of file Jet.h.

References jetID_.

Referenced by JetIDSelectionFunctor::operator()().

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

retrieve the jpt specific part of the jet

Definition at line 235 of file Jet.h.

References specificJPT_.

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

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

returns the maximum energy deposited in ECAL towers

Definition at line 263 of file Jet.h.

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

263 {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:230
float pat::Jet::maxEInHadTowers ( ) const
inline

returns the maximum energy deposited in HCAL towers

Definition at line 265 of file Jet.h.

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

265 {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:230
float pat::Jet::muonEnergy ( ) const
inline

muonEnergy

Definition at line 359 of file Jet.h.

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

Referenced by muonEnergyFraction().

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

muonEnergyFraction (relative to corrected jet energy)

Definition at line 361 of file Jet.h.

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

361 {return muonEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
float muonEnergy() const
muonEnergy
Definition: Jet.h:359
bool jecSetsAvailable() const
Definition: Jet.h:112
virtual double energy() const
energy
int pat::Jet::muonMultiplicity ( ) const
inline

muonMultiplicity

Definition at line 602 of file Jet.h.

References edm::hlt::Exception.

603 {
604  if(isPFJet()){ return pfSpecific().mMuonMultiplicity; }
606  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
607 }
reco::TrackRefVector muonsInVertexOutCalo
Definition: JPTJet.h:57
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
reco::TrackRefVector muonsInVertexInCalo
Definition: JPTJet.h:56
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:240
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
size_type size() const
Size of the RefVector.
Definition: RefVector.h:89
const reco::TrackRefVector& pat::Jet::muonsInVertexInCalo ( ) const
inline

muons fully contained in cone

Definition at line 309 of file Jet.h.

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

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

muons that curled out

Definition at line 311 of file Jet.h.

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

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

muons that curled in

Definition at line 313 of file Jet.h.

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

const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
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 289 of file Jet.h.

References reco::Jet::nCarrying().

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

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

Definition at line 287 of file Jet.h.

References reco::Jet::nCarrying().

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

neutralEmEnergy

Definition at line 595 of file Jet.h.

References edm::hlt::Exception.

Referenced by neutralEmEnergyFraction().

596 {
597  if(isPFJet()){ return pfSpecific().mNeutralEmEnergy; }
598  else if( isJPTJet() ){ return jptSpecific().mNeutralEmEnergy;}
599  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
600 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:240
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:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
float pat::Jet::neutralEmEnergyFraction ( ) const
inline

neutralEmEnergyFraction (relative to uncorrected jet energy)

Definition at line 347 of file Jet.h.

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

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

347 {return neutralEmEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
float neutralEmEnergy() const
neutralEmEnergy
Definition: Jet.h:595
virtual double energy() const
energy
float pat::Jet::neutralHadronEnergy ( ) const
inline

neutralHadronEnergy

Definition at line 581 of file Jet.h.

References edm::hlt::Exception.

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

582 {
583  if(isPFJet()){ return pfSpecific().mNeutralHadronEnergy; }
584  else if( isJPTJet() ){ return jptSpecific().mNeutralHadronEnergy; }
585  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
586 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:240
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:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
float pat::Jet::neutralHadronEnergyFraction ( ) const
inline

neutralHadronEnergyFraction (relative to uncorrected jet energy)

Definition at line 343 of file Jet.h.

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

343 {return neutralHadronEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
float neutralHadronEnergy() const
neutralHadronEnergy
Definition: Jet.h:581
virtual double energy() const
energy
int pat::Jet::neutralHadronMultiplicity ( ) const
inline

neutralHadronMultiplicity

Definition at line 374 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:240
int mNeutralHadronMultiplicity
Definition: PFJet.h:58
int pat::Jet::neutralMultiplicity ( ) const
inline

neutralMultiplicity

Definition at line 391 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:240
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 430 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().

430  {
431  if (isCaloJet() || isJPTJet()) {
432  if ( embeddedCaloTowers_ ) {
433  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_.size();
434  else if ( caloTowers_.size() > 0 ) return caloTowers_.size();
435  else return reco::Jet::numberOfDaughters();
436  }
437  }
438  if (isPFJet()) {
439  if ( embeddedPFCandidates_ ) {
440  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_.size();
441  else if ( pfCandidates_.size() > 0 ) return pfCandidates_.size();
442  else return reco::Jet::numberOfDaughters();
443  }
444  }
446  }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:499
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:504
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:222
virtual size_t numberOfDaughters() const
number of daughters
bool embeddedCaloTowers_
Definition: Jet.h:496
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:226
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:224
CaloTowerCollection caloTowers_
Definition: Jet.h:498
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:505
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:502
int Jet::partonFlavour ( ) const

return the flavour of the parton underlying the jet

Definition at line 200 of file Jet.cc.

References partonFlavour_.

Referenced by AnalysisTasksAnalyzerBTag::analyze(), and TtDilepLRSignalSelObservables::operator()().

200  {
201  return partonFlavour_;
202 }
int partonFlavour_
Definition: Jet.h:513
reco::PFCandidateFwdPtrVector const& pat::Jet::pfCandidatesFwdPtr ( ) const
inline

Definition at line 454 of file Jet.h.

References pfCandidatesFwdPtr_.

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

retrieve the pf specific part of the jet

Definition at line 240 of file Jet.h.

References specificPF_.

Referenced by chargedHadronEnergy(), chargedHadronMultiplicity(), chargedMuEnergy(), electronEnergy(), electronMultiplicity(), HFEMEnergy(), HFEMMultiplicity(), HFHadronEnergy(), HFHadronMultiplicity(), muonEnergy(), neutralHadronMultiplicity(), neutralMultiplicity(), SmearedJetProducer_namespace::JetResolutionExtractorT< pat::Jet >::operator()(), photonEnergy(), and photonMultiplicity().

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

photonEnergy

Definition at line 351 of file Jet.h.

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

Referenced by photonEnergyFraction().

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

photonEnergyFraction (relative to corrected jet energy)

Definition at line 353 of file Jet.h.

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

353 {return photonEnergy()/((jecSetsAvailable() ? jecFactor(0) : 1.)*energy());}
float photonEnergy() const
photonEnergy
Definition: Jet.h:351
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:239
bool jecSetsAvailable() const
Definition: Jet.h:112
virtual double energy() const
energy
int pat::Jet::photonMultiplicity ( ) const
inline

photonMultiplicity

Definition at line 376 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:240
int mPhotonMultiplicity
Definition: PFJet.h:59
const reco::TrackRefVector& pat::Jet::pionsInVertexInCalo ( ) const
inline

pions fully contained in cone

Definition at line 303 of file Jet.h.

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

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

pions that curled out

Definition at line 305 of file Jet.h.

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

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

pions that curled in

Definition at line 307 of file Jet.h.

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

const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235
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 396 of file Jet.cc.

References associatedTracks_, and testEve_cfg::tracks.

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

396  {
398 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:541
tuple tracks
Definition: testEve_cfg.py:39
void pat::Jet::setCaloSpecific ( CaloSpecific  newCaloSpecific)
inline

set the calo specific part of the jet

Definition at line 245 of file Jet.h.

References specificCalo_.

245  {
246  if (specificCalo_.empty()) throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a CaloJet.\n";
247  specificCalo_[0] = newCaloSpecific;
248  }
std::vector< CaloSpecific > specificCalo_
Definition: Jet.h:545
void Jet::setCaloTowers ( const CaloTowerFwdPtrCollection caloTowers)

method to store the CaloJet constituents internally

Definition at line 401 of file Jet.cc.

References caloTowersFwdPtr_, embeddedCaloTowers_, i, and isCaloTowerCached_.

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

401  {
402  for(unsigned int i = 0; i < caloTowers.size(); ++i) {
403  caloTowersFwdPtr_.push_back( caloTowers.at(i) );
404  }
405  embeddedCaloTowers_ = true;
406  isCaloTowerCached_ = false;
407 }
int i
Definition: DBlmapReader.cc:9
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:499
bool embeddedCaloTowers_
Definition: Jet.h:496
bool isCaloTowerCached_
cache calo towers
Definition: Jet.h:566
void Jet::setGenJetRef ( const edm::FwdRef< reco::GenJetCollection > &  gj)

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

Definition at line 421 of file Jet.cc.

References genJetFwdRef_.

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

422 {
423  genJetFwdRef_ = gj;
424 }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:512
void pat::Jet::setGenParton ( const reco::GenParticleRef gp,
bool  embed = false 
)
inline

method to set the matched parton

Definition at line 209 of file Jet.h.

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

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

209 { 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 439 of file Jet.cc.

References jetCharge(), and jetCharge_.

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

439  {
441 }
float jetCharge_
Definition: Jet.h:540
float jetCharge() const
method to return the JetCharge computed when creating the Jet
Definition: Jet.cc:386
void pat::Jet::setJetID ( reco::JetID const &  id)
inline

methods for jet ID

Definition at line 217 of file Jet.h.

References errorMatrix2Lands_multiChannel::id, and jetID_.

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

void pat::Jet::setJPTSpecific ( JPTSpecific  newJPTSpecific)
inline

set the jpt specific part of the jet

Definition at line 250 of file Jet.h.

References specificJPT_.

250  {
251  if (specificJPT_.empty()) throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet.\n";
252  specificJPT_[0] = newJPTSpecific;
253  }
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:546
void Jet::setPartonFlavour ( int  partonFl)

method to set the flavour of the parton underlying the jet

Definition at line 429 of file Jet.cc.

References partonFlavour_.

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

429  {
430  partonFlavour_ = partonFl;
431 }
int partonFlavour_
Definition: Jet.h:513
void Jet::setPFCandidates ( const PFCandidateFwdPtrCollection pfCandidates)

method to store the PFCandidate constituents internally

method to store the CaloJet constituents internally

Definition at line 411 of file Jet.cc.

References embeddedPFCandidates_, i, isPFCandidateCached_, and pfCandidatesFwdPtr_.

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

411  {
412  for(unsigned int i = 0; i < pfCandidates.size(); ++i) {
413  pfCandidatesFwdPtr_.push_back(pfCandidates.at(i));
414  }
415  embeddedPFCandidates_ = true;
416  isPFCandidateCached_ = false;
417 }
int i
Definition: DBlmapReader.cc:9
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
bool isPFCandidateCached_
Definition: Jet.h:568
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:505
bool embeddedPFCandidates_
Definition: Jet.h:502
void pat::Jet::setPFSpecific ( PFSpecific  newPFSpecific)
inline

set the pf specific part of the jet

Definition at line 255 of file Jet.h.

References specificPF_.

255  {
256  if (specificPF_.empty()) throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a PFJet.\n";
257  specificPF_[0] = newPFSpecific;
258  }
std::vector< PFSpecific > specificPF_
Definition: Jet.h:547
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 319 of file Jet.cc.

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

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

319  {
320  std::vector<std::string>::const_iterator it = std::find(tagInfoLabels_.begin(), tagInfoLabels_.end(), label);
321  if (it != tagInfoLabels_.end()) {
322  if ( tagInfosFwdPtr_.size() > 0 ) return tagInfosFwdPtr_[it - tagInfoLabels_.begin()].get();
323  else if ( tagInfos_.size() > 0 ) return & tagInfos_[it - tagInfoLabels_.begin()];
324  return 0;
325  }
326  return 0;
327 }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:535
size_type size() const
Definition: OwnVector.h:247
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:534
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:533
template<typename T >
const T * Jet::tagInfoByType ( ) const
private

Definition at line 331 of file Jet.cc.

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

331  {
332  // First check the factorized PAT version
333  for (size_t i = 0, n = tagInfosFwdPtr_.size(); i < n; ++i) {
335  reco::BaseTagInfo const * baseTagInfo = val.get();
336  if ( typeid(*baseTagInfo) == typeid(T) ) {
337  return static_cast<const T *>( baseTagInfo );
338  }
339  }
340  // Then check compatibility version
341  for (size_t i = 0, n = tagInfos_.size(); i < n; ++i) {
343  reco::BaseTagInfo const * baseTagInfo = &val;
344  if ( typeid(*baseTagInfo) == typeid(T) ) {
345  return static_cast<const T *>( baseTagInfo );
346  }
347  }
348  return 0;
349 }
int i
Definition: DBlmapReader.cc:9
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:535
size_type size() const
Definition: OwnVector.h:247
edm::OwnVector< reco::BaseTagInfo > tagInfos_
Definition: Jet.h:534
Container::value_type value_type
long double T
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 366 of file Jet.cc.

References tagInfo().

366  {
367  return (label.empty() ? tagInfoByType<reco::SecondaryVertexTagInfo>()
368  : dynamic_cast<const reco::SecondaryVertexTagInfo *>(tagInfo(label)) );
369 }
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:319
TagInfoFwdPtrCollection const& pat::Jet::tagInfosFwdPtr ( ) const
inline

Definition at line 456 of file Jet.h.

References tagInfosFwdPtr_.

456 { return tagInfosFwdPtr_; }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:535
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 360 of file Jet.cc.

References tagInfo().

360  {
361  return (label.empty() ? tagInfoByType<reco::SoftLeptonTagInfo>()
362  : dynamic_cast<const reco::SoftLeptonTagInfo *>(tagInfo(label)) );
363 }
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:319
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 354 of file Jet.cc.

References tagInfo().

354  {
355  return (label.empty() ? tagInfoByType<reco::TrackIPTagInfo>()
356  : dynamic_cast<const reco::TrackIPTagInfo *>(tagInfo(label)) );
357 }
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:319
float pat::Jet::towersArea ( ) const
inline

returns area of contributing towers

Definition at line 285 of file Jet.h.

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

285 {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:230
void Jet::tryImportSpecific ( const reco::Jet source)
private

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

Definition at line 81 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().

82 {
83  const std::type_info & type = typeid(source);
84  if( type == typeid(reco::CaloJet) ){
85  specificCalo_.push_back( (static_cast<const reco::CaloJet&>(source)).getSpecific() );
86  } else if( type == typeid(reco::JPTJet) ){
87  reco::JPTJet const & jptJet = static_cast<reco::JPTJet const &>(source);
88  specificJPT_.push_back( jptJet.getSpecific() );
89  reco::CaloJet const * caloJet = 0;
90  if ( jptJet.getCaloJetRef().isNonnull() && jptJet.getCaloJetRef().isAvailable() ) {
91  caloJet = dynamic_cast<reco::CaloJet const *>( jptJet.getCaloJetRef().get() );
92  }
93  if ( caloJet != 0 ) {
94  specificCalo_.push_back( caloJet->getSpecific() );
95  }
96  else {
97  edm::LogWarning("OptionalProductNotFound") << " in pat::Jet, Attempted to add Calo Specifics to JPT Jets, but failed."
98  << " Jet ID for JPT Jets will not be available for you." << std::endl;
99  }
100  } else if( type == typeid(reco::PFJet) ){
101  specificPF_.push_back( (static_cast<const reco::PFJet&>(source)).getSpecific() );
102  }
103 }
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:112
std::vector< PFSpecific > specificPF_
Definition: Jet.h:547
std::vector< CaloSpecific > specificCalo_
Definition: Jet.h:545
Jets made from CaloJets corrected for ZSP and tracks.
Definition: JPTJet.h:29
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:546
bool isNonnull() const
Checks for non-null.
Definition: RefToBase.h:279
value_type const * get() const
Definition: RefToBase.h:212
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 460 of file Jet.h.

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

460  {
461  if ( index < caloTowersFwdPtr_.size() ) {
463  } else {
464  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
465  }
466  }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:499
unsigned int index
Definition: LeafCandidate.h:33
Container::value_type value_type
void pat::Jet::updateFwdGenJetFwdRef ( edm::Ref< reco::GenJetCollection updateRef)
inline

Definition at line 485 of file Jet.h.

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

485  {
487  }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:512
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 468 of file Jet.h.

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

468  {
469  if ( index < pfCandidatesFwdPtr_.size() ) {
471  } else {
472  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
473  }
474  }
unsigned int index
Definition: LeafCandidate.h:33
Container::value_type value_type
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:505
void pat::Jet::updateFwdTagInfoFwdPtr ( unsigned int  index,
edm::Ptr< reco::BaseTagInfo updateFwd 
)
inline

Definition at line 477 of file Jet.h.

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

477  {
478  if ( index < tagInfosFwdPtr_.size() ) {
480  } else {
481  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
482  }
483  }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:535
unsigned int index
Definition: LeafCandidate.h:33
Container::value_type value_type
const float& pat::Jet::zspCorrection ( ) const
inline

zero suppression correction

Definition at line 321 of file Jet.h.

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

321 {return jptSpecific().mZSPCor;}
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:235

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 75 of file Jet.h.

std::ostream& reco::operator<< ( std::ostream &  out,
const pat::Jet obj 
)
friend

pipe operator (introduced to use pat::Jet with PFTopProjectors)

Member Data Documentation

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

Definition at line 541 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 497 of file Jet.h.

Referenced by cacheCaloTowers(), and getCaloConstituents().

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

Definition at line 528 of file Jet.h.

Referenced by currentJECFlavor(), and jecFactor().

unsigned int pat::Jet::currentJECLevel_
protected

Definition at line 525 of file Jet.h.

Referenced by currentJECLevel(), and jecFactor().

unsigned int pat::Jet::currentJECSet_
protected

Definition at line 523 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 510 of file Jet.h.

Referenced by genJet().

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

Definition at line 512 of file Jet.h.

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

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

Definition at line 511 of file Jet.h.

Referenced by genJet().

bool pat::Jet::isCaloTowerCached_
mutableprivate

cache calo towers

Definition at line 566 of file Jet.h.

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

bool pat::Jet::isPFCandidateCached_
mutableprivate

Definition at line 568 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 540 of file Jet.h.

Referenced by jetCharge(), and setJetCharge().

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

Definition at line 550 of file Jet.h.

Referenced by jetID(), and setJetID().

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

Definition at line 532 of file Jet.h.

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

int pat::Jet::partonFlavour_
protected

Definition at line 513 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 503 of file Jet.h.

Referenced by cachePFCandidates(), and getPFConstituents().

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

Definition at line 545 of file Jet.h.

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

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

Definition at line 546 of file Jet.h.

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

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

Definition at line 547 of file Jet.h.

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

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

Definition at line 533 of file Jet.h.

Referenced by addTagInfo(), and tagInfo().

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

Definition at line 534 of file Jet.h.

Referenced by tagInfo(), and tagInfoByType().

TagInfoFwdPtrCollection pat::Jet::tagInfosFwdPtr_
protected

Definition at line 535 of file Jet.h.

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