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 | 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...
 
int hadronFlavour () const
 return the hadron-based flavour of the jet 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...
 
const reco::JetFlavourInfojetFlavourInfo () const
 return the JetFlavourInfo of 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 parton-based flavour of 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 (const 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 setHadronFlavour (int hadronFl)
 method to set the hadron-based flavour of the jet More...
 
void setJetCharge (float jetCharge)
 method to set the jet charge More...
 
void setJetFlavourInfo (const reco::JetFlavourInfo &jetFlavourInfo)
 method to set the JetFlavourInfo of the jet More...
 
void setJetID (reco::JetID const &id)
 methods for jet ID More...
 
void setJPTSpecific (const JPTSpecific &newJPTSpecific)
 set the jpt specific part of the jet More...
 
void setPartonFlavour (int partonFl)
 method to set the parton-based flavour of the jet More...
 
void setPFCandidates (const PFCandidateFwdPtrCollection &pfCandidates)
 method to store the PFCandidate constituents internally More...
 
void setPFSpecific (const 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, const edm::Ptr< CaloTower > &updateFwd)
 
void updateFwdGenJetFwdRef (edm::Ref< reco::GenJetCollection > updateRef)
 
void updateFwdPFCandidateFwdPtr (unsigned int index, const edm::Ptr< reco::PFCandidate > &updateFwd)
 
void updateFwdTagInfoFwdPtr (unsigned int index, const 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
 
void unpackTriggerObjectPathNames (const edm::TriggerNames &names)
 unpack path names of matched trigger objects (if they were packed before embedding, which is not normally the case) More...
 
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 GCC11_FINAL
 
virtual int charge () const GCC11_FINAL
 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 GCC11_FINAL
 energy More...
 
virtual double et () const GCC11_FINAL
 transverse energy More...
 
virtual float eta () const GCC11_FINAL
 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)
 
template<typename P4 >
 LeafCandidate (Charge q, const P4 &p4, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from Any values More...
 
 LeafCandidate (Charge q, const PtEtaPhiMass &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 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 GCC11_FINAL
 is long lived? More...
 
virtual float mass () const GCC11_FINAL
 mass More...
 
virtual bool massConstraint () const GCC11_FINAL
 do mass constraint? More...
 
virtual float massSqr () const GCC11_FINAL
 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 GCC11_FINAL
 spatial momentum vector More...
 
virtual double mt () const GCC11_FINAL
 transverse mass More...
 
virtual double mtSqr () const GCC11_FINAL
 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 GCC11_FINAL
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const GCC11_FINAL
 four-momentum Lorentz vector More...
 
virtual int pdgId () const GCC11_FINAL
 PDG identifier. More...
 
virtual float phi () const GCC11_FINAL
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const GCC11_FINAL
 four-momentum Lorentz vector More...
 
virtual float pt () const GCC11_FINAL
 transverse momentum More...
 
virtual double px () const GCC11_FINAL
 x coordinate of momentum vector More...
 
virtual double py () const GCC11_FINAL
 y coordinate of momentum vector More...
 
virtual double pz () const GCC11_FINAL
 z coordinate of momentum vector More...
 
virtual double rapidity () const GCC11_FINAL
 rapidity More...
 
virtual void setCharge (Charge q) GCC11_FINAL
 set electric charge More...
 
virtual void setLongLived () GCC11_FINAL
 set long lived flag More...
 
virtual void setMass (double m) GCC11_FINAL
 set particle mass More...
 
virtual void setMassConstraint () GCC11_FINAL
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4) GCC11_FINAL
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4) GCC11_FINAL
 set 4-momentum More...
 
virtual void setPdgId (int pdgId) GCC11_FINAL
 
virtual void setPz (double pz) GCC11_FINAL
 
virtual void setStatus (int status) GCC11_FINAL
 set status word More...
 
virtual void setThreeCharge (Charge qx3) GCC11_FINAL
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual int status () const GCC11_FINAL
 status word More...
 
virtual double theta () const GCC11_FINAL
 momentum polar angle More...
 
virtual int threeCharge () const GCC11_FINAL
 electric charge More...
 
virtual const Pointvertex () const
 vertex position (overwritten by PF...) 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 GCC11_FINAL
 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 GCC11_FINAL
 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_
 
edm::AtomicPtrCache
< std::vector< CaloTowerPtr > > 
caloTowersTemp_
 
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::JetFlavourInfo jetFlavourInfo_
 
reco::JetID jetID_
 
std::vector< std::pair
< std::string, float > > 
pairDiscriVector_
 
reco::PFCandidateCollection pfCandidates_
 
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
 
edm::AtomicPtrCache
< std::vector
< reco::PFCandidatePtr > > 
pfCandidatesTemp_
 
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
 cache calo towers 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...
 

Friends

class PATJetProducer
 
class PATJetSlimmer
 
std::ostream & reco::operator<< (std::ostream &out, const 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

Definition at line 73 of file Jet.h.

Constructor & Destructor Documentation

Jet::Jet ( )

default constructor

Definition at line 12 of file Jet.cc.

Referenced by clone().

12  :
14  embeddedCaloTowers_(false),
15  embeddedPFCandidates_(false),
16  jetCharge_(0.)
17 {
18 }
Base class for all types of Jets.
Definition: Jet.h:20
bool embeddedCaloTowers_
Definition: Jet.h:507
float jetCharge_
Definition: Jet.h:551
bool embeddedPFCandidates_
Definition: Jet.h:513
Jet::Jet ( const reco::Jet aJet)

constructor from a reco::Jet

Definition at line 21 of file Jet.cc.

References tryImportSpecific().

21  :
23  embeddedCaloTowers_(false),
24  embeddedPFCandidates_(false),
25  jetCharge_(0.0)
26 {
27  tryImportSpecific(aJet);
28 }
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:68
bool embeddedCaloTowers_
Definition: Jet.h:507
float jetCharge_
Definition: Jet.h:551
bool embeddedPFCandidates_
Definition: Jet.h:513
Jet::Jet ( const edm::RefToBase< reco::Jet > &  aJetRef)

constructor from ref to reco::Jet

Definition at line 41 of file Jet.cc.

References tryImportSpecific().

41  :
42  PATObject<reco::Jet>(aJetRef),
43  embeddedCaloTowers_(false),
44  embeddedPFCandidates_(false),
45  jetCharge_(0.0)
46 {
47  tryImportSpecific(*aJetRef);
48 }
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:68
bool embeddedCaloTowers_
Definition: Jet.h:507
float jetCharge_
Definition: Jet.h:551
bool embeddedPFCandidates_
Definition: Jet.h:513
Jet::Jet ( const edm::Ptr< reco::Jet > &  aJetRef)

constructor from ref to reco::Jet

Definition at line 31 of file Jet.cc.

References tryImportSpecific().

31  :
32  PATObject<reco::Jet>(aJetRef),
33  embeddedCaloTowers_(false),
34  embeddedPFCandidates_(false),
35  jetCharge_(0.0)
36 {
37  tryImportSpecific(*aJetRef);
38 }
void tryImportSpecific(const reco::Jet &source)
constructor helper that tries to import the specific info from the source jet
Definition: Jet.cc:68
bool embeddedCaloTowers_
Definition: Jet.h:507
float jetCharge_
Definition: Jet.h:551
bool embeddedPFCandidates_
Definition: Jet.h:513
Jet::~Jet ( )
virtual

destructor

Reimplemented from reco::Jet.

Definition at line 93 of file Jet.cc.

93  {
94 }

Member Function Documentation

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

method to add a algolabel-discriminator pair

Definition at line 443 of file Jet.cc.

References pairDiscriVector_.

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

443  {
444  pairDiscriVector_.push_back(thePair);
445 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:543
void pat::Jet::addJECFactors ( const JetCorrFactors jec)
inlineprivate

add more sets of energy correction factors

Definition at line 162 of file Jet.h.

References jec_.

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

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

References customizeTrackingMonitorSeedNumber::idx, tagInfoLabels_, and tagInfosFwdPtr_.

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

370  {
371  std::string::size_type idx = label.find("TagInfos");
372  if (idx == std::string::npos) {
373  tagInfoLabels_.push_back(label);
374  } else {
375  tagInfoLabels_.push_back(label.substr(0,idx));
376  }
377  tagInfosFwdPtr_.push_back(info);
378 }
static const TGPicture * info(bool iBackgroundIsBlack)
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:546
uint16_t size_type
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:544
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
const reco::TrackRefVector & Jet::associatedTracks ( ) const

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

Definition at line 388 of file Jet.cc.

References associatedTracks_.

Referenced by main().

388  {
389  return associatedTracks_;
390 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:552
const std::vector< std::string > Jet::availableJECLevels ( const int &  set = 0) const

Definition at line 229 of file Jet.cc.

References jec_.

Referenced by PATJetCorrExtractor::operator()().

230 {
231  return set>=0 ? jec_.at(set).correctionLabels() : std::vector<std::string>();
232 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:531
const std::vector<std::string> pat::Jet::availableJECLevels ( const std::string &  set) const
inline

Definition at line 116 of file Jet.h.

References availableJECLevels(), and jecSet().

Referenced by availableJECLevels().

116 { return availableJECLevels(jecSet(set)); };
const std::vector< std::string > availableJECLevels(const int &set=0) const
Definition: Jet.cc:229
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:213
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 221 of file Jet.cc.

References jec_.

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

-— methods for accessing b-tagging info -—

get b discriminant from label name

Definition at line 305 of file Jet.cc.

References first, i, pairDiscriVector_, and AlCaHLTBitMon_QueryRunRegistry::string.

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

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

cache calo towers

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

Definition at line 455 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(), edm::Ptr< T >::key(), numberOfDaughters(), and edm::SortedCollection< T, SORT >::size().

Referenced by getCaloConstituents().

455  {
456  // Clear the cache
457  // Here is where we've embedded constituents
458  std::unique_ptr<std::vector<CaloTowerPtr>> caloTowersTemp{ new std::vector<CaloTowerPtr>{}};
459  if ( embeddedCaloTowers_ ) {
460  // Refactorized PAT access
461  if ( caloTowersFwdPtr_.size() > 0 ) {
462  caloTowersTemp->reserve(caloTowersFwdPtr_.size());
463  for ( CaloTowerFwdPtrVector::const_iterator ibegin=caloTowersFwdPtr_.begin(),
464  iend = caloTowersFwdPtr_.end(),
465  icalo = ibegin;
466  icalo != iend; ++icalo ) {
467  caloTowersTemp->emplace_back( icalo->ptr() );
468  }
469  }
470  // Compatibility access
471  else if ( caloTowers_.size() > 0 ) {
472  caloTowersTemp->reserve(caloTowers_.size());
474  iend = caloTowers_.end(),
475  icalo = ibegin;
476  icalo != iend; ++icalo ) {
477  caloTowersTemp->emplace_back( &caloTowers_, icalo - ibegin );
478  }
479  }
480  }
481  // Non-embedded access
482  else {
483  const auto nDaughters = numberOfDaughters();
484  caloTowersTemp->reserve(nDaughters);
485  for ( unsigned fIndex = 0; fIndex < nDaughters; ++fIndex ) {
486  Constituent const & dau = daughterPtr (fIndex);
487  const CaloTower* caloTower = dynamic_cast <const CaloTower*> (dau.get());
488  if (caloTower) {
489  caloTowersTemp->emplace_back( dau.id(), caloTower,dau.key() );
490  }
491  else {
492  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
493  }
494  }
495  }
496  caloTowersTemp_.set(std::move(caloTowersTemp));
497 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:510
CandidatePtr daughterPtr(size_type i) const
reference to daughter at given position
std::vector< CaloTower >::const_iterator const_iterator
edm::AtomicPtrCache< std::vector< CaloTowerPtr > > caloTowersTemp_
Definition: Jet.h:508
daughters dau
collection of references to daughters
bool embeddedCaloTowers_
Definition: Jet.h:507
const_iterator end() const
edm::Ptr< Candidate > Constituent
Definition: Jet.h:22
virtual size_t numberOfDaughters() const
Definition: Jet.h:441
CaloTowerCollection caloTowers_
Definition: Jet.h:509
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 500 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(), numberOfDaughters(), pfCandidates_, pfCandidatesFwdPtr_, pfCandidatesTemp_, and edm::AtomicPtrCache< T >::set().

Referenced by getPFConstituents().

500  {
501 
502  std::unique_ptr<std::vector<reco::PFCandidatePtr>> pfCandidatesTemp{ new std::vector<reco::PFCandidatePtr>{}};
503  // Here is where we've embedded constituents
504  if ( embeddedPFCandidates_ ) {
505  // Refactorized PAT access
506  if ( pfCandidatesFwdPtr_.size() > 0 ) {
507  pfCandidatesTemp->reserve(pfCandidatesFwdPtr_.size());
508  for ( PFCandidateFwdPtrCollection::const_iterator ibegin=pfCandidatesFwdPtr_.begin(),
509  iend = pfCandidatesFwdPtr_.end(),
510  ipf = ibegin;
511  ipf != iend; ++ipf ) {
512  pfCandidatesTemp->emplace_back( ipf->ptr() );
513  }
514  }
515  // Compatibility access
516  else if ( pfCandidates_.size() > 0 ) {
517  pfCandidatesTemp->reserve(pfCandidates_.size());
518  for ( reco::PFCandidateCollection::const_iterator ibegin=pfCandidates_.begin(),
519  iend = pfCandidates_.end(),
520  ipf = ibegin;
521  ipf != iend; ++ipf ) {
522  pfCandidatesTemp->emplace_back( &pfCandidates_, ipf - ibegin );
523  }
524  }
525  }
526  // Non-embedded access
527  else {
528  const auto nDaughters = numberOfDaughters();
529  pfCandidatesTemp->reserve(nDaughters);
530  for ( unsigned fIndex = 0; fIndex < nDaughters; ++fIndex ) {
531  Constituent const & dau = daughterPtr (fIndex);
532  const reco::PFCandidate* pfCandidate = dynamic_cast <const reco::PFCandidate*> (dau.get());
533  if (pfCandidate) {
534  pfCandidatesTemp->emplace_back( dau.id(), pfCandidate,dau.key() );
535  }
536  else {
537  throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type";
538  }
539  }
540  }
541  // Set the cache
542  pfCandidatesTemp_.set(std::move(pfCandidatesTemp));
543 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:515
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:22
virtual size_t numberOfDaughters() const
Definition: Jet.h:441
bool set(std::unique_ptr< T > iNewValue) const
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:38
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:516
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > pfCandidatesTemp_
Definition: Jet.h:514
bool embeddedPFCandidates_
Definition: Jet.h:513
const CaloSpecific& pat::Jet::caloSpecific ( ) const
inline

retrieve the calo specific part of the jet

Definition at line 241 of file Jet.h.

References specificCalo_.

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

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

Access to bare FwdPtr collections.

Definition at line 464 of file Jet.h.

References caloTowersFwdPtr_.

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

chargedEmEnergy

Definition at line 597 of file Jet.h.

References edm::hlt::Exception.

Referenced by chargedEmEnergyFraction().

598 {
599  if(isPFJet()){ return pfSpecific().mChargedEmEnergy; }
600  else if( isJPTJet() ){ return jptSpecific().mChargedEmEnergy;}
601  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
602 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:246
float mChargedEmEnergy
Definition: JPTJet.h:64
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:251
float mChargedEmEnergy
Definition: PFJet.h:70
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
float pat::Jet::chargedEmEnergyFraction ( ) const
inline

chargedEmEnergyFraction (relative to uncorrected jet energy)

Definition at line 356 of file Jet.h.

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

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

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

chargedHadronEnergy

Definition at line 583 of file Jet.h.

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

Referenced by chargedHadronEnergyFraction().

584 {
585  if(isPFJet()){ return pfSpecific().mChargedHadronEnergy; }
586  else if( isJPTJet() ){ return jptSpecific().mChargedHadronEnergy; }
587  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
588 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:246
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:251
float mChargedHadronEnergy
Definition: JPTJet.h:62
float mChargedHadronEnergy
Definition: PFJet.h:52
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
float pat::Jet::chargedHadronEnergyFraction ( ) const
inline

chargedHadronEnergyFraction (relative to uncorrected jet energy)

Definition at line 352 of file Jet.h.

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

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

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

chargedHadronMultiplicity

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

chargedMuEnergy

Definition at line 397 of file Jet.h.

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

Referenced by chargedMuEnergyFraction().

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

chargedMuEnergyFraction

Definition at line 399 of file Jet.h.

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

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

chargedMultiplicity

Definition at line 618 of file Jet.h.

References edm::hlt::Exception.

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

619 {
620  if(isPFJet()){ return pfSpecific().mChargedMultiplicity; }
624  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
625 }
reco::TrackRefVector muonsInVertexOutCalo
Definition: JPTJet.h:57
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:246
reco::TrackRefVector muonsInVertexInCalo
Definition: JPTJet.h:56
int mChargedMultiplicity
Definition: PFJet.h:73
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:251
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:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
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 93 of file Jet.h.

References Jet().

93 { return new Jet(*this); }
Jet()
default constructor
Definition: Jet.cc:12
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 268 of file Jet.cc.

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

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

269 {
270  // rescale p4 of the jet; the update of current values is
271  // done within the called jecFactor function
272  for(unsigned int idx=0; idx<jec_.size(); ++idx){
273  if(set.empty() || jec_.at(idx).jecSet()==set){
274  if(jec_[idx].jecLevel(level)>=0){
275  return correctedJet(jec_[idx].jecLevel(level), jec_[idx].jecFlavor(flavor), idx);
276  }
277  else{
278  throw cms::Exception("InvalidRequest") << "This JEC level " << level << " does not exist. \n";
279  }
280  }
281  }
282  throw cms::Exception("InvalidRequest") << "This JEC set " << set << " does not exist. \n";
283 }
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:268
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:531
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
tuple level
Definition: testEve_cfg.py:34
Jet Jet::correctedJet ( const unsigned int &  level,
const JetCorrFactors::Flavor flavor = JetCorrFactors::NONE,
const unsigned int &  set = 0 
) const

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

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

Definition at line 287 of file Jet.cc.

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

288 {
289  Jet correctedJet(*this);
290  //rescale p4 of the jet
291  correctedJet.setP4(jecFactor(level, flavor, set)*p4());
292  // update current level, flavor and set
294  return correctedJet;
295 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:236
virtual const LorentzVector & p4() const GCC11_FINAL
four-momentum Lorentz vector
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:268
JetCorrFactors::Flavor currentJECFlavor() const
return flavour of the current step of jet energy corrections
Definition: Jet.h:131
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Jet.h:129
Analysis-level calorimeter jet class.
Definition: Jet.h:73
virtual void setP4(const LorentzVector &p4) GCC11_FINAL
set 4-momentum
tuple level
Definition: testEve_cfg.py:34
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Jet.h:127
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 146 of file Jet.h.

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

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()().

146 { return correctedJet(level, flavor, set).p4(); };
virtual const LorentzVector & p4() const GCC11_FINAL
four-momentum Lorentz vector
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:268
tuple level
Definition: testEve_cfg.py:34
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 149 of file Jet.h.

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

149 { return correctedJet(level, flavor, set).p4(); };
virtual const LorentzVector & p4() const GCC11_FINAL
four-momentum Lorentz vector
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:268
tuple level
Definition: testEve_cfg.py:34
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 131 of file Jet.h.

References currentJECFlavor_.

Referenced by correctedJet(), and initializeJEC().

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

update the current JEC flavor; used by correctedJet

Definition at line 160 of file Jet.h.

References currentJECFlavor_.

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

return the name of the current step of jet energy corrections

Definition at line 129 of file Jet.h.

References currentJECLevel_, currentJECSet_, jec_, and AlCaHLTBitMon_QueryRunRegistry::string.

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

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

update the current JEC level; used by correctedJet

Definition at line 158 of file Jet.h.

References currentJECLevel_, and testEve_cfg::level.

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

References currentJECSet_, jec_, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by correctedJet(), and initializeJEC().

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

update the current JEC set; used by correctedJet

Definition at line 156 of file Jet.h.

References currentJECSet_.

156 { currentJECSet_=set; };
unsigned int currentJECSet_
Definition: Jet.h:534
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 417 of file Jet.h.

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

417  {
418  if (isCaloJet() || isJPTJet() ) {
419  if ( embeddedCaloTowers_ ) {
420  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_[i].get();
421  else if ( caloTowers_.size() > 0 ) return &caloTowers_[i];
422  else return reco::Jet::daughter(i);
423  }
424  }
425  if (isPFJet()) {
426  if ( embeddedPFCandidates_ ) {
427  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_[i].get();
428  else if ( pfCandidates_.size() > 0 ) return &pfCandidates_[i];
429  else return reco::Jet::daughter(i);
430  }
431  }
432  return reco::Jet::daughter(i);
433  }
int i
Definition: DBlmapReader.cc:9
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:510
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:515
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:233
bool embeddedCaloTowers_
Definition: Jet.h:507
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
CaloTowerCollection caloTowers_
Definition: Jet.h:509
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:516
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:513
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 334 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:246
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 326 of file Jet.h.

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

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

electrons that curled out

Definition at line 328 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:246
reco::TrackRefVector elecsInVertexOutCalo
Definition: JPTJet.h:60
const reco::TrackRefVector& pat::Jet::elecsOutVertexInCalo ( ) const
inline

electrons that curled in

Definition at line 330 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:246
reco::TrackRefVector elecsOutVertexInCalo
Definition: JPTJet.h:61
float pat::Jet::electronEnergy ( ) const
inline

electronEnergy

Definition at line 366 of file Jet.h.

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

Referenced by electronEnergyFraction().

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

electronEnergyFraction (relative to corrected jet energy)

Definition at line 368 of file Jet.h.

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

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

electronMultiplicity

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

returns the jet electromagnetic energy fraction

Definition at line 280 of file Jet.h.

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

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

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

returns the jet electromagnetic energy in EB

Definition at line 290 of file Jet.h.

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

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

returns the jet electromagnetic energy in EE

Definition at line 292 of file Jet.h.

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

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

returns the jet electromagnetic energy extracted from HF

Definition at line 294 of file Jet.h.

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

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

returns the jet hadronic energy fraction

Definition at line 278 of file Jet.h.

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

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

return the matched generated jet

Definition at line 180 of file Jet.cc.

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

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

180  {
181  if (genJet_.size()) return &(genJet_.front());
182  else if ( genJetRef_.size() ) return genJetRef_[0].get();
183  else return genJetFwdRef_.get();
184 }
reco::GenJetRefVector genJetRef_
Definition: Jet.h:522
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:523
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:521
edm::FwdRef<reco::GenJetCollection> const& pat::Jet::genJetFwdRef ( ) const
inline

Definition at line 466 of file Jet.h.

References genJetFwdRef_.

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

-— methods for MC matching -—

return the matched generated parton

Definition at line 98 of file Jet.h.

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

98 { return genParticle(); }
const reco::GenParticle * genParticle(size_t idx=0) const
Definition: PATObject.h:236
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 98 of file Jet.cc.

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

Referenced by PatZjetsJetAnalyzer::analyze().

98  {
99  if (embeddedCaloTowers_) {
100  // Refactorized PAT access
101  if ( caloTowersFwdPtr_.size() > 0 ) {
102  return (fIndex < caloTowersFwdPtr_.size() ?
103  caloTowersFwdPtr_[fIndex].ptr() : CaloTowerPtr());
104  }
105  // Compatibility PAT access
106  else {
107  if ( caloTowers_.size() > 0 ) {
108  return (fIndex < caloTowers_.size() ?
109  CaloTowerPtr(&caloTowers_, fIndex) : CaloTowerPtr());
110 
111  }
112  }
113  }
114  // Non-embedded access
115  else {
116  Constituent dau = daughterPtr (fIndex);
117  const CaloTower* caloTower = dynamic_cast <const CaloTower*> (dau.get());
118  if (caloTower != 0) {
119  return CaloTowerPtr(dau.id(), caloTower, dau.key() );
120  }
121  else {
122  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
123  }
124 
125  }
126 
127  return CaloTowerPtr ();
128 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:510
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:507
edm::Ptr< Candidate > Constituent
Definition: Jet.h:22
CaloTowerCollection caloTowers_
Definition: Jet.h:509
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 132 of file Jet.cc.

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

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

132  {
133  if ( !caloTowersTemp_.isSet() || caloTowers_.size() > 0 ) cacheCaloTowers();
134  return *caloTowersTemp_;
135 }
void cacheCaloTowers() const
cache calo towers
Definition: Jet.cc:455
edm::AtomicPtrCache< std::vector< CaloTowerPtr > > caloTowersTemp_
Definition: Jet.h:508
CaloTowerCollection caloTowers_
Definition: Jet.h:509
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 300 of file Jet.cc.

References pairDiscriVector_.

300  {
301  return pairDiscriVector_;
302 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:543
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 140 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_.

140  {
141  if (embeddedPFCandidates_) {
142  // Refactorized PAT access
143  if ( pfCandidatesFwdPtr_.size() > 0 ) {
144  return (fIndex < pfCandidatesFwdPtr_.size() ?
145  pfCandidatesFwdPtr_[fIndex].ptr() : reco::PFCandidatePtr());
146  }
147  // Compatibility PAT access
148  else {
149  if ( pfCandidates_.size() > 0 ) {
150  return (fIndex < pfCandidates_.size() ?
152 
153  }
154  }
155  }
156  // Non-embedded access
157  else {
158  Constituent dau = daughterPtr (fIndex);
159  const reco::PFCandidate* pfCandidate = dynamic_cast <const reco::PFCandidate*> (dau.get());
160  if (pfCandidate) {
161  return reco::PFCandidatePtr(dau.id(), pfCandidate, dau.key() );
162  }
163  else {
164  throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type";
165  }
166 
167  }
168 
169  return reco::PFCandidatePtr ();
170 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:515
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:22
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:38
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:516
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
bool embeddedPFCandidates_
Definition: Jet.h:513
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 172 of file Jet.cc.

References cachePFCandidates(), edm::AtomicPtrCache< T >::isSet(), pfCandidates_, and pfCandidatesTemp_.

172  {
173  if ( !pfCandidatesTemp_.isSet() || pfCandidates_.size() > 0 ) cachePFCandidates();
174  return *pfCandidatesTemp_;
175 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:515
bool isSet() const
void cachePFCandidates() const
method to cache the constituents to allow &quot;user-friendly&quot; access
Definition: Jet.cc:500
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > pfCandidatesTemp_
Definition: Jet.h:514
float pat::Jet::hadEnergyInHB ( ) const
inline

returns the jet hadronic energy in HB

Definition at line 282 of file Jet.h.

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

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

returns the jet hadronic energy in HE

Definition at line 286 of file Jet.h.

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

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

returns the jet hadronic energy in HF

Definition at line 288 of file Jet.h.

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

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

returns the jet hadronic energy in HO

Definition at line 284 of file Jet.h.

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

284 {return caloSpecific().mHadEnergyInHO;}
float mHadEnergyInHO
Hadronic nergy fraction in HO.
Definition: CaloJet.h:57
const CaloSpecific & caloSpecific() const
retrieve the calo specific part of the jet
Definition: Jet.h:241
int Jet::hadronFlavour ( ) const

return the hadron-based flavour of the jet

Definition at line 192 of file Jet.cc.

References reco::JetFlavourInfo::getHadronFlavour(), and jetFlavourInfo_.

192  {
194 }
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:524
const int getHadronFlavour() const
Return the hadron-based flavour.
bool pat::Jet::hasTagInfo ( const std::string  label) const
inline

check to see if the given tag info is nonzero

Definition at line 174 of file Jet.h.

References tagInfo().

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

HFEMEnergy.

Definition at line 378 of file Jet.h.

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

Referenced by HFEMEnergyFraction().

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

HFEMEnergyFraction (relative to corrected jet energy)

Definition at line 380 of file Jet.h.

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

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

HFEMMultiplicity.

Definition at line 394 of file Jet.h.

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

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

HFHadronEnergy.

Definition at line 374 of file Jet.h.

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

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

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

HFHadronEnergyFraction (relative to corrected jet energy)

Definition at line 376 of file Jet.h.

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

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

HFHadronMultiplicity.

Definition at line 392 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:251
int mHFHadronMultiplicity
Definition: PFJet.h:65
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 204 of file Jet.cc.

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

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

205 {
206  currentJECSet(set);
208  currentJECFlavor(flavor);
209  setP4(jec_[set].correction(level, flavor)*p4());
210 }
virtual const LorentzVector & p4() const GCC11_FINAL
four-momentum Lorentz vector
JetCorrFactors::Flavor currentJECFlavor() const
return flavour of the current step of jet energy corrections
Definition: Jet.h:131
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:531
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Jet.h:129
virtual void setP4(const LorentzVector &p4) GCC11_FINAL
set 4-momentum
tuple level
Definition: testEve_cfg.py:34
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Jet.h:127
bool pat::Jet::isBasicJet ( ) const
inline

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

Definition at line 239 of file Jet.h.

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

Referenced by PFJetIDSelectionFunctor::firstDataCuts().

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

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

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

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

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

Definition at line 235 of file Jet.h.

References specificJPT_.

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

235 { return !specificJPT_.empty(); }
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:557
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 236 of file Jet.cc.

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

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

237 {
238  for(unsigned int idx=0; idx<jec_.size(); ++idx){
239  if(set.empty() || jec_.at(idx).jecSet()==set){
240  if(jec_[idx].jecLevel(level)>=0){
241  return jecFactor(jec_[idx].jecLevel(level), jec_[idx].jecFlavor(flavor), idx);
242  }
243  else{
244  throw cms::Exception("InvalidRequest") << "This JEC level " << level << " does not exist. \n";
245  }
246  }
247  }
248  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n"
249  << "for a jet energy correction set with label " << set << "\n";
250 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:236
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:531
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
tuple level
Definition: testEve_cfg.py:34
float Jet::jecFactor ( const unsigned int &  level,
const JetCorrFactors::Flavor flavor = JetCorrFactors::NONE,
const unsigned int &  set = 0 
) const

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

Definition at line 254 of file Jet.cc.

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

255 {
256  if(!jecSetsAvailable()){
257  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n";
258  }
259  if(!jecSetAvailable(set)){
260  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n"
261  << "for a jet energy correction set with index " << set << "\n";
262  }
263  return jec_.at(set).correction(level, flavor)/jec_.at(currentJECSet_).correction(currentJECLevel_, currentJECFlavor_);
264 }
bool jecSetsAvailable() const
Definition: Jet.h:119
unsigned int currentJECLevel_
Definition: Jet.h:536
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:531
tuple level
Definition: testEve_cfg.py:34
unsigned int currentJECSet_
Definition: Jet.h:534
JetCorrFactors::Flavor currentJECFlavor_
Definition: Jet.h:539
bool jecSetAvailable(const std::string &set) const
Definition: Jet.h:122
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 213 of file Jet.cc.

References jec_.

Referenced by availableJECLevels(), and jecSetAvailable().

214 {
215  for(std::vector<pat::JetCorrFactors>::const_iterator corrFactor=jec_.begin(); corrFactor!=jec_.end(); ++corrFactor)
216  if( corrFactor->jecSet()==set ){ return (corrFactor-jec_.begin()); }
217  return -1;
218 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:531
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 122 of file Jet.h.

References jecSet().

Referenced by jecFactor().

122 {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:213
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 125 of file Jet.h.

References jec_.

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

method to return the JetCharge computed when creating the Jet

Definition at line 383 of file Jet.cc.

References jetCharge_.

Referenced by setJetCharge().

383  {
384  return jetCharge_;
385 }
float jetCharge_
Definition: Jet.h:551
const reco::JetFlavourInfo & Jet::jetFlavourInfo ( ) const

return the JetFlavourInfo of the jet

Definition at line 197 of file Jet.cc.

References jetFlavourInfo_.

Referenced by setJetFlavourInfo().

197  {
198  return jetFlavourInfo_;
199 }
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:524
reco::JetID const& pat::Jet::jetID ( ) const
inline

accessing Jet ID information

Definition at line 460 of file Jet.h.

References jetID_.

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

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

retrieve the jpt specific part of the jet

Definition at line 246 of file Jet.h.

References specificJPT_.

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

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

returns the maximum energy deposited in ECAL towers

Definition at line 274 of file Jet.h.

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

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

returns the maximum energy deposited in HCAL towers

Definition at line 276 of file Jet.h.

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

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

muonEnergy

Definition at line 370 of file Jet.h.

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

Referenced by muonEnergyFraction().

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

muonEnergyFraction (relative to corrected jet energy)

Definition at line 372 of file Jet.h.

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

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

muonMultiplicity

Definition at line 611 of file Jet.h.

References edm::hlt::Exception.

612 {
613  if(isPFJet()){ return pfSpecific().mMuonMultiplicity; }
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:246
reco::TrackRefVector muonsInVertexInCalo
Definition: JPTJet.h:56
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:251
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
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 320 of file Jet.h.

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

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

muons that curled out

Definition at line 322 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:246
const reco::TrackRefVector& pat::Jet::muonsOutVertexInCalo ( ) const
inline

muons that curled in

Definition at line 324 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:246
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 300 of file Jet.h.

References reco::Jet::nCarrying().

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

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

Definition at line 298 of file Jet.h.

References reco::Jet::nCarrying().

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

neutralEmEnergy

Definition at line 604 of file Jet.h.

References edm::hlt::Exception.

Referenced by neutralEmEnergyFraction().

605 {
606  if(isPFJet()){ return pfSpecific().mNeutralEmEnergy; }
607  else if( isJPTJet() ){ return jptSpecific().mNeutralEmEnergy;}
608  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
609 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:246
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:251
float mNeutralEmEnergy
Definition: JPTJet.h:65
float mNeutralEmEnergy
Definition: PFJet.h:72
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
float pat::Jet::neutralEmEnergyFraction ( ) const
inline

neutralEmEnergyFraction (relative to uncorrected jet energy)

Definition at line 358 of file Jet.h.

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

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

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

neutralHadronEnergy

Definition at line 590 of file Jet.h.

References edm::hlt::Exception.

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

591 {
592  if(isPFJet()){ return pfSpecific().mNeutralHadronEnergy; }
593  else if( isJPTJet() ){ return jptSpecific().mNeutralHadronEnergy; }
594  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
595 }
const JPTSpecific & jptSpecific() const
retrieve the jpt specific part of the jet
Definition: Jet.h:246
const PFSpecific & pfSpecific() const
retrieve the pf specific part of the jet
Definition: Jet.h:251
float mNeutralHadronEnergy
Definition: PFJet.h:53
float mNeutralHadronEnergy
Definition: JPTJet.h:63
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
float pat::Jet::neutralHadronEnergyFraction ( ) const
inline

neutralHadronEnergyFraction (relative to uncorrected jet energy)

Definition at line 354 of file Jet.h.

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

Referenced by main().

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

neutralHadronMultiplicity

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

neutralMultiplicity

Definition at line 402 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:251
int mNeutralMultiplicity
Definition: PFJet.h:74
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 441 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().

441  {
442  if (isCaloJet() || isJPTJet()) {
443  if ( embeddedCaloTowers_ ) {
444  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_.size();
445  else if ( caloTowers_.size() > 0 ) return caloTowers_.size();
446  else return reco::Jet::numberOfDaughters();
447  }
448  }
449  if (isPFJet()) {
450  if ( embeddedPFCandidates_ ) {
451  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_.size();
452  else if ( pfCandidates_.size() > 0 ) return pfCandidates_.size();
453  else return reco::Jet::numberOfDaughters();
454  }
455  }
457  }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:510
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:515
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:233
virtual size_t numberOfDaughters() const
number of daughters
bool embeddedCaloTowers_
Definition: Jet.h:507
bool isPFJet() const
check to see if the jet is a reco::PFJet
Definition: Jet.h:237
bool isJPTJet() const
check to see if the jet is a reco::JPTJet
Definition: Jet.h:235
CaloTowerCollection caloTowers_
Definition: Jet.h:509
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:516
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:513
int Jet::partonFlavour ( ) const

return the parton-based flavour of the jet

Definition at line 187 of file Jet.cc.

References reco::JetFlavourInfo::getPartonFlavour(), and jetFlavourInfo_.

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

187  {
189 }
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:524
const int getPartonFlavour() const
Return the parton-based flavour.
reco::PFCandidateFwdPtrVector const& pat::Jet::pfCandidatesFwdPtr ( ) const
inline

Definition at line 465 of file Jet.h.

References pfCandidatesFwdPtr_.

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

retrieve the pf specific part of the jet

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

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

photonEnergy

Definition at line 362 of file Jet.h.

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

Referenced by photonEnergyFraction().

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

photonEnergyFraction (relative to corrected jet energy)

Definition at line 364 of file Jet.h.

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

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

photonMultiplicity

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

pions fully contained in cone

Definition at line 314 of file Jet.h.

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

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

pions that curled out

Definition at line 316 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:246
reco::TrackRefVector pionsInVertexOutCalo
Definition: JPTJet.h:54
const reco::TrackRefVector& pat::Jet::pionsOutVertexInCalo ( ) const
inline

pions that curled in

Definition at line 318 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:246
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 393 of file Jet.cc.

References associatedTracks_, and testEve_cfg::tracks.

Referenced by pat::PATJetSlimmer::produce(), and pat::PATJetProducer::produce().

393  {
395 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:552
tuple tracks
Definition: testEve_cfg.py:39
void pat::Jet::setCaloSpecific ( const CaloSpecific newCaloSpecific)
inline

set the calo specific part of the jet

Definition at line 256 of file Jet.h.

References specificCalo_.

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

method to store the CaloJet constituents internally

Definition at line 398 of file Jet.cc.

References caloTowersFwdPtr_, caloTowersTemp_, and embeddedCaloTowers_.

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

398  {
399  caloTowersFwdPtr_.reserve(caloTowers.size());
400  for(auto const& tower : caloTowers) {
401  caloTowersFwdPtr_.push_back( tower );
402  }
403  embeddedCaloTowers_ = true;
404  caloTowersTemp_.reset();
405 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:510
edm::AtomicPtrCache< std::vector< CaloTowerPtr > > caloTowersTemp_
Definition: Jet.h:508
bool embeddedCaloTowers_
Definition: Jet.h:507
void Jet::setGenJetRef ( const edm::FwdRef< reco::GenJetCollection > &  gj)

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

Definition at line 420 of file Jet.cc.

References genJetFwdRef_.

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

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

method to set the matched parton

Definition at line 216 of file Jet.h.

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

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

216 { 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::setHadronFlavour ( int  hadronFl)

method to set the hadron-based flavour of the jet

Definition at line 433 of file Jet.cc.

References jetFlavourInfo_, and reco::JetFlavourInfo::setHadronFlavour().

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

433  {
435 }
void setHadronFlavour(const int hadronFlavour)
Set the hadron-based flavour.
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:524
void Jet::setJetCharge ( float  jetCharge)

method to set the jet charge

Definition at line 448 of file Jet.cc.

References jetCharge(), and jetCharge_.

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

448  {
450 }
float jetCharge_
Definition: Jet.h:551
float jetCharge() const
method to return the JetCharge computed when creating the Jet
Definition: Jet.cc:383
void Jet::setJetFlavourInfo ( const reco::JetFlavourInfo jetFlavourInfo)

method to set the JetFlavourInfo of the jet

Definition at line 438 of file Jet.cc.

References jetFlavourInfo(), and jetFlavourInfo_.

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

438  {
440 }
const reco::JetFlavourInfo & jetFlavourInfo() const
return the JetFlavourInfo of the jet
Definition: Jet.cc:197
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:524
void pat::Jet::setJetID ( reco::JetID const &  id)
inline

methods for jet ID

Definition at line 228 of file Jet.h.

References jetID_.

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

228 { jetID_ = id; }
reco::JetID jetID_
Definition: Jet.h:561
void pat::Jet::setJPTSpecific ( const JPTSpecific newJPTSpecific)
inline

set the jpt specific part of the jet

Definition at line 261 of file Jet.h.

References specificJPT_.

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

method to set the parton-based flavour of the jet

Definition at line 428 of file Jet.cc.

References jetFlavourInfo_, and reco::JetFlavourInfo::setPartonFlavour().

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

428  {
430 }
void setPartonFlavour(const int partonFlavour)
Set the parton-based flavour.
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:524
void Jet::setPFCandidates ( const PFCandidateFwdPtrCollection pfCandidates)

method to store the PFCandidate constituents internally

method to store the CaloJet constituents internally

Definition at line 409 of file Jet.cc.

References embeddedPFCandidates_, pfCandidatesFwdPtr_, pfCandidatesTemp_, and edm::AtomicPtrCache< T >::reset().

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

409  {
410  pfCandidatesFwdPtr_.reserve(pfCandidates.size());
411  for(auto const& cand : pfCandidates) {
412  pfCandidatesFwdPtr_.push_back(cand);
413  }
414  embeddedPFCandidates_ = true;
416 }
void reset()
unsets the value and deletes the memory
std::vector< PFCandidatePtr > pfCandidates(const PFJet &jet, int particleId, bool sort=true)
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:516
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > pfCandidatesTemp_
Definition: Jet.h:514
bool embeddedPFCandidates_
Definition: Jet.h:513
void pat::Jet::setPFSpecific ( const PFSpecific newPFSpecific)
inline

set the pf specific part of the jet

Definition at line 266 of file Jet.h.

References specificPF_.

266  {
267  if (specificPF_.empty()) throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a PFJet.\n";
268  specificPF_[0] = newPFSpecific;
269  }
std::vector< PFSpecific > specificPF_
Definition: Jet.h:558
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 316 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().

316  {
317  std::vector<std::string>::const_iterator it = std::find(tagInfoLabels_.begin(), tagInfoLabels_.end(), label);
318  if (it != tagInfoLabels_.end()) {
319  if ( tagInfosFwdPtr_.size() > 0 ) return tagInfosFwdPtr_[it - tagInfoLabels_.begin()].get();
320  else if ( tagInfos_.size() > 0 ) return & tagInfos_[it - tagInfoLabels_.begin()];
321  return 0;
322  }
323  return 0;
324 }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:546
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:545
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:544
template<typename T >
const T * Jet::tagInfoByType ( ) const
private

Definition at line 328 of file Jet.cc.

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

328  {
329  // First check the factorized PAT version
330  for (size_t i = 0, n = tagInfosFwdPtr_.size(); i < n; ++i) {
332  reco::BaseTagInfo const * baseTagInfo = val.get();
333  if ( typeid(*baseTagInfo) == typeid(T) ) {
334  return static_cast<const T *>( baseTagInfo );
335  }
336  }
337  // Then check compatibility version
338  for (size_t i = 0, n = tagInfos_.size(); i < n; ++i) {
340  reco::BaseTagInfo const * baseTagInfo = &val;
341  if ( typeid(*baseTagInfo) == typeid(T) ) {
342  return static_cast<const T *>( baseTagInfo );
343  }
344  }
345  return 0;
346 }
int i
Definition: DBlmapReader.cc:9
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:546
size_type size() const
Definition: OwnVector.h:247
edm::OwnVector< reco::BaseTagInfo > tagInfos_
Definition: Jet.h:545
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 363 of file Jet.cc.

References tagInfo().

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

Definition at line 467 of file Jet.h.

References tagInfosFwdPtr_.

467 { return tagInfosFwdPtr_; }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:546
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 357 of file Jet.cc.

References tagInfo().

357  {
358  return (label.empty() ? tagInfoByType<reco::SoftLeptonTagInfo>()
359  : dynamic_cast<const reco::SoftLeptonTagInfo *>(tagInfo(label)) );
360 }
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:316
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 351 of file Jet.cc.

References tagInfo().

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

returns area of contributing towers

Definition at line 296 of file Jet.h.

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

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

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

Definition at line 68 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(), source, specificCalo_, specificJPT_, and specificPF_.

Referenced by Jet().

69 {
70  const std::type_info & type = typeid(source);
71  if( type == typeid(reco::CaloJet) ){
72  specificCalo_.push_back( (static_cast<const reco::CaloJet&>(source)).getSpecific() );
73  } else if( type == typeid(reco::JPTJet) ){
74  reco::JPTJet const & jptJet = static_cast<reco::JPTJet const &>(source);
75  specificJPT_.push_back( jptJet.getSpecific() );
76  reco::CaloJet const * caloJet = 0;
77  if ( jptJet.getCaloJetRef().isNonnull() && jptJet.getCaloJetRef().isAvailable() ) {
78  caloJet = dynamic_cast<reco::CaloJet const *>( jptJet.getCaloJetRef().get() );
79  }
80  if ( caloJet != 0 ) {
81  specificCalo_.push_back( caloJet->getSpecific() );
82  }
83  else {
84  edm::LogWarning("OptionalProductNotFound") << " in pat::Jet, Attempted to add Calo Specifics to JPT Jets, but failed."
85  << " Jet ID for JPT Jets will not be available for you." << std::endl;
86  }
87  } else if( type == typeid(reco::PFJet) ){
88  specificPF_.push_back( (static_cast<const reco::PFJet&>(source)).getSpecific() );
89  }
90 }
type
Definition: HCALResponse.h:21
Jets made from CaloTowers.
Definition: CaloJet.h:29
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:21
bool isAvailable() const
Definition: RefToBase.h:112
std::vector< PFSpecific > specificPF_
Definition: Jet.h:558
std::vector< CaloSpecific > specificCalo_
Definition: Jet.h:556
Jets made from CaloJets corrected for ZSP and tracks.
Definition: JPTJet.h:29
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:557
bool isNonnull() const
Checks for non-null.
Definition: RefToBase.h:279
static std::string const source
Definition: EdmProvDump.cc:43
value_type const * get() const
Definition: RefToBase.h:212
const Specific & getSpecific() const
Definition: CaloJet.h:149
void pat::Jet::updateFwdCaloTowerFwdPtr ( unsigned int  index,
const 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 471 of file Jet.h.

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

471  {
472  if ( index < caloTowersFwdPtr_.size() ) {
474  } else {
475  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
476  }
477  }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:510
unsigned int index
Definition: LeafCandidate.h:34
Container::value_type value_type
void pat::Jet::updateFwdGenJetFwdRef ( edm::Ref< reco::GenJetCollection updateRef)
inline

Definition at line 496 of file Jet.h.

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

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

Definition at line 479 of file Jet.h.

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

479  {
480  if ( index < pfCandidatesFwdPtr_.size() ) {
482  } else {
483  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
484  }
485  }
unsigned int index
Definition: LeafCandidate.h:34
Container::value_type value_type
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:516
void pat::Jet::updateFwdTagInfoFwdPtr ( unsigned int  index,
const edm::Ptr< reco::BaseTagInfo > &  updateFwd 
)
inline

Definition at line 488 of file Jet.h.

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

488  {
489  if ( index < tagInfosFwdPtr_.size() ) {
491  } else {
492  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
493  }
494  }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:546
unsigned int index
Definition: LeafCandidate.h:34
Container::value_type value_type
const float& pat::Jet::zspCorrection ( ) const
inline

zero suppression correction

Definition at line 332 of file Jet.h.

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

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

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

friend class PATJetSlimmer
friend

Definition at line 78 of file Jet.h.

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

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

Member Data Documentation

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

Definition at line 552 of file Jet.h.

Referenced by associatedTracks(), and setAssociatedTracks().

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

Definition at line 508 of file Jet.h.

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

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

Definition at line 539 of file Jet.h.

Referenced by currentJECFlavor(), and jecFactor().

unsigned int pat::Jet::currentJECLevel_
protected

Definition at line 536 of file Jet.h.

Referenced by currentJECLevel(), and jecFactor().

unsigned int pat::Jet::currentJECSet_
protected

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

Referenced by genJet().

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

Definition at line 523 of file Jet.h.

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

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

Definition at line 522 of file Jet.h.

Referenced by genJet().

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

Definition at line 551 of file Jet.h.

Referenced by jetCharge(), and setJetCharge().

reco::JetFlavourInfo pat::Jet::jetFlavourInfo_
protected
reco::JetID pat::Jet::jetID_
protected

Definition at line 561 of file Jet.h.

Referenced by jetID(), and setJetID().

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

Definition at line 543 of file Jet.h.

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

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

Definition at line 514 of file Jet.h.

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

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

Definition at line 557 of file Jet.h.

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

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

Definition at line 544 of file Jet.h.

Referenced by addTagInfo(), and tagInfo().

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

Definition at line 545 of file Jet.h.

Referenced by pat::PATJetSlimmer::produce(), tagInfo(), and tagInfoByType().

TagInfoFwdPtrCollection pat::Jet::tagInfosFwdPtr_
protected