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
 
virtual int charge () const
 electric charge More...
 
virtual Candidatedaughter (const std::string &s)
 return daughter with a specified role name More...
 
virtual const Candidatedaughter (const std::string &s) const
 return daughter with a specified role name More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
virtual double energy () const
 energy More...
 
virtual double et () const
 transverse energy More...
 
virtual float eta () const
 momentum pseudorapidity More...
 
virtual void fillVertexCovariance (CovarianceMatrix &v) const
 fill SMatrix More...
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
virtual bool hasMasterClone () const
 
virtual bool hasMasterClonePtr () const
 
virtual bool isCaloMuon () const
 
virtual bool isConvertedPhoton () const
 
virtual bool isElectron () const
 
virtual bool isGlobalMuon () const
 
virtual bool isMuon () const
 
virtual bool isPhoton () const
 
virtual bool isStandAloneMuon () const
 
virtual bool isTrackerMuon () const
 
 LeafCandidate ()
 default constructor More...
 
 LeafCandidate (const Candidate &c)
 
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...
 
 LeafCandidate (Charge q, const GlobalVector &p3, float iEnergy, bool massless, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
 LeafCandidate (Charge q, const GlobalVector &p3, float iEnergy, float imass, const Point &vtx=Point(0, 0, 0), int pdgId=0, int status=0, bool integerCharge=true)
 constructor from values More...
 
virtual bool longLived () const
 is long lived? More...
 
virtual float mass () const
 mass More...
 
virtual bool massConstraint () const
 do mass constraint? More...
 
virtual float massSqr () const
 mass squared More...
 
virtual const CandidateBaseRefmasterClone () const
 
virtual const CandidatePtrmasterClonePtr () const
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
virtual Vector momentum () const
 spatial momentum vector More...
 
virtual double mt () const
 transverse mass More...
 
virtual double mtSqr () const
 transverse mass squared More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual double p () const
 magnitude of momentum vector More...
 
virtual const LorentzVectorp4 () const
 four-momentum Lorentz vector More...
 
virtual int pdgId () const
 PDG identifier. More...
 
virtual float phi () const
 momentum azimuthal angle More...
 
virtual const PolarLorentzVectorpolarP4 () const
 four-momentum Lorentz vector More...
 
virtual float pt () const
 transverse momentum More...
 
virtual double px () const
 x coordinate of momentum vector More...
 
virtual double py () const
 y coordinate of momentum vector More...
 
virtual double pz () const
 z coordinate of momentum vector More...
 
virtual double rapidity () const
 rapidity More...
 
virtual void setCharge (Charge q)
 set electric charge More...
 
virtual void setLongLived ()
 set long lived flag More...
 
virtual void setMass (double m)
 set particle mass More...
 
virtual void setMassConstraint ()
 set mass constraint flag More...
 
virtual void setP4 (const LorentzVector &p4)
 set 4-momentum More...
 
virtual void setP4 (const PolarLorentzVector &p4)
 set 4-momentum More...
 
virtual void setPdgId (int pdgId)
 
virtual void setPz (double pz)
 
virtual void setStatus (int status)
 set status word More...
 
virtual void setThreeCharge (Charge qx3)
 set electric charge More...
 
virtual void setVertex (const Point &vertex)
 set vertex More...
 
virtual int status () const
 status word More...
 
virtual double theta () const
 momentum polar angle More...
 
virtual int threeCharge () const
 electric charge More...
 
virtual const Pointvertex () const
 vertex position (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
 return SMatrix More...
 
virtual double vertexNdof () const
 
virtual double vertexNormalizedChi2 () const
 chi-squared divided by n.d.o.f. More...
 
virtual double vx () const
 x coordinate of vertex position More...
 
virtual double vy () const
 y coordinate of vertex position More...
 
virtual double vz () const
 z coordinate of vertex position More...
 
virtual double y () const
 rapidity More...
 
virtual ~LeafCandidate ()
 destructor More...
 
- Public Member Functions inherited from reco::Candidate
template<typename S >
daughter_iterator< S >::type beginFilter (const S &s) const
 
 Candidate ()
 default constructor More...
 
template<typename S >
daughter_iterator< S >::type endFilter (const S &s) const
 
template<typename T >
T get () const
 get a component More...
 
template<typename T , typename Tag >
T get () const
 get a component More...
 
template<typename T >
T get (size_type i) const
 get a component More...
 
template<typename T , typename Tag >
T get (size_type i) const
 get a component More...
 
template<typename Ref >
Ref masterRef () const
 cast master clone reference to a concrete type More...
 
template<typename T >
size_type numberOf () const
 number of components More...
 
template<typename T , typename Tag >
size_type numberOf () const
 number of components More...
 
virtual void setSourceCandidatePtr (const CandidatePtr &ptr)
 Set the ptr to the source Candidate. More...
 
virtual ~Candidate ()
 destructor More...
 

Protected Attributes

reco::TrackRefVector associatedTracks_
 
CaloTowerCollection caloTowers_
 
CaloTowerFwdPtrVector caloTowersFwdPtr_
 
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 Member Functions inherited from reco::LeafCandidate
static double dmass (GlobalVector v, double e)
 
static double magd (GlobalVector v)
 
- 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:475
float jetCharge_
Definition: Jet.h:519
bool embeddedPFCandidates_
Definition: Jet.h:481
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:475
float jetCharge_
Definition: Jet.h:519
bool embeddedPFCandidates_
Definition: Jet.h:481
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:475
float jetCharge_
Definition: Jet.h:519
bool embeddedPFCandidates_
Definition: Jet.h:481
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:475
float jetCharge_
Definition: Jet.h:519
bool embeddedPFCandidates_
Definition: Jet.h:481
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 477 of file Jet.cc.

References pairDiscriVector_.

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

477  {
478  pairDiscriVector_.push_back(thePair);
479 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:511
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:499
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 403 of file Jet.cc.

References customizeTrackingMonitorSeedNumber::idx, tagInfoLabels_, and tagInfosFwdPtr_.

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

404  {
405  std::string::size_type idx = label.find("TagInfos");
406  if (idx == std::string::npos) {
407  tagInfoLabels_.push_back(label);
408  } else {
409  tagInfoLabels_.push_back(label.substr(0,idx));
410  }
411  tagInfosFwdPtr_.push_back(info);
412 }
static const TGPicture * info(bool iBackgroundIsBlack)
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:514
uint16_t size_type
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:512
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 422 of file Jet.cc.

References associatedTracks_.

Referenced by main().

422  {
423  return associatedTracks_;
424 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:520
const std::vector< std::string > Jet::availableJECLevels ( const int &  set = 0) const

Definition at line 263 of file Jet.cc.

References jec_.

Referenced by PATJetCorrExtractor::operator()().

264 {
265  return set>=0 ? jec_.at(set).correctionLabels() : std::vector<std::string>();
266 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
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:263
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:247
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 255 of file Jet.cc.

References jec_.

256 {
257  std::vector<std::string> sets;
258  for(std::vector<pat::JetCorrFactors>::const_iterator corrFactor=jec_.begin(); corrFactor!=jec_.end(); ++corrFactor)
259  sets.push_back(corrFactor->jecSet());
260  return sets;
261 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
float Jet::bDiscriminator ( const std::string &  theLabel) const

-— methods for accessing b-tagging info -—

get b discriminant from label name

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

339  {
340  float discriminator = -1000.;
341  const std::string & theLabel = ((aLabel == "" || aLabel == "default")) ? "trackCountingHighEffBJetTags" : aLabel;
342  for(unsigned int i=0; i!=pairDiscriVector_.size(); i++){
343  if(pairDiscriVector_[i].first == theLabel){
344  discriminator = pairDiscriVector_[i].second;
345  }
346  }
347  return discriminator;
348 }
int i
Definition: DBlmapReader.cc:9
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:511
bool first
Definition: L1TdeRCT.cc:75
void Jet::cacheCaloTowers ( ) const
private

cache calo towers

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

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

489  {
490  // Clear the cache
491  // Here is where we've embedded constituents
492  std::unique_ptr<std::vector<CaloTowerPtr>> caloTowersTemp{ new std::vector<CaloTowerPtr>{}};
493  if ( embeddedCaloTowers_ ) {
494  // Refactorized PAT access
495  if ( caloTowersFwdPtr_.size() > 0 ) {
496  caloTowersTemp->reserve(caloTowersFwdPtr_.size());
497  for ( CaloTowerFwdPtrVector::const_iterator ibegin=caloTowersFwdPtr_.begin(),
498  iend = caloTowersFwdPtr_.end(),
499  icalo = ibegin;
500  icalo != iend; ++icalo ) {
501  caloTowersTemp->emplace_back( icalo->ptr() );
502  }
503  }
504  // Compatibility access
505  else if ( caloTowers_.size() > 0 ) {
506  caloTowersTemp->reserve(caloTowers_.size());
508  iend = caloTowers_.end(),
509  icalo = ibegin;
510  icalo != iend; ++icalo ) {
511  caloTowersTemp->emplace_back( &caloTowers_, icalo - ibegin );
512  }
513  }
514  }
515  // Non-embedded access
516  else {
517  const auto nDaughters = numberOfDaughters();
518  caloTowersTemp->reserve(nDaughters);
519  for ( unsigned fIndex = 0; fIndex < nDaughters; ++fIndex ) {
520  Constituent const & dau = daughterPtr (fIndex);
521  const CaloTower* caloTower = dynamic_cast <const CaloTower*> (dau.get());
522  if (caloTower) {
523  caloTowersTemp->emplace_back( dau.id(), caloTower,dau.key() );
524  }
525  else {
526  throw cms::Exception("Invalid Constituent") << "CaloJet constituent is not of CaloTower type";
527  }
528  }
529  }
530  caloTowersTemp_.set(std::move(caloTowersTemp));
531 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:478
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:476
daughters dau
collection of references to daughters
bool embeddedCaloTowers_
Definition: Jet.h:475
const_iterator end() const
edm::Ptr< Candidate > Constituent
Definition: Jet.h:22
virtual size_t numberOfDaughters() const
Definition: Jet.cc:195
CaloTowerCollection caloTowers_
Definition: Jet.h:477
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 534 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().

534  {
535 
536  std::unique_ptr<std::vector<reco::PFCandidatePtr>> pfCandidatesTemp{ new std::vector<reco::PFCandidatePtr>{}};
537  // Here is where we've embedded constituents
538  if ( embeddedPFCandidates_ ) {
539  // Refactorized PAT access
540  if ( pfCandidatesFwdPtr_.size() > 0 ) {
541  pfCandidatesTemp->reserve(pfCandidatesFwdPtr_.size());
542  for ( PFCandidateFwdPtrCollection::const_iterator ibegin=pfCandidatesFwdPtr_.begin(),
543  iend = pfCandidatesFwdPtr_.end(),
544  ipf = ibegin;
545  ipf != iend; ++ipf ) {
546  pfCandidatesTemp->emplace_back( ipf->ptr() );
547  }
548  }
549  // Compatibility access
550  else if ( pfCandidates_.size() > 0 ) {
551  pfCandidatesTemp->reserve(pfCandidates_.size());
552  for ( reco::PFCandidateCollection::const_iterator ibegin=pfCandidates_.begin(),
553  iend = pfCandidates_.end(),
554  ipf = ibegin;
555  ipf != iend; ++ipf ) {
556  pfCandidatesTemp->emplace_back( &pfCandidates_, ipf - ibegin );
557  }
558  }
559  }
560  // Non-embedded access
561  else {
562  const auto nDaughters = numberOfDaughters();
563  pfCandidatesTemp->reserve(nDaughters);
564  for ( unsigned fIndex = 0; fIndex < nDaughters; ++fIndex ) {
565  Constituent const & dau = daughterPtr (fIndex);
566  const reco::PFCandidate* pfCandidate = dynamic_cast <const reco::PFCandidate*> (dau.get());
567  if (pfCandidate) {
568  pfCandidatesTemp->emplace_back( dau.id(), pfCandidate,dau.key() );
569  }
570  else {
571  throw cms::Exception("Invalid Constituent") << "PFJet constituent is not of PFCandidate type";
572  }
573  }
574  }
575  // Set the cache
576  pfCandidatesTemp_.set(std::move(pfCandidatesTemp));
577 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:483
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
bool set(std::unique_ptr< T > iNewValue) const
virtual size_t numberOfDaughters() const
Definition: Jet.cc:195
Particle reconstructed by the particle flow algorithm.
Definition: PFCandidate.h:38
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:484
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > pfCandidatesTemp_
Definition: Jet.h:482
bool embeddedPFCandidates_
Definition: Jet.h:481
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:524
CaloTowerFwdPtrVector const& pat::Jet::caloTowersFwdPtr ( ) const
inline

Access to bare FwdPtr collections.

Definition at line 432 of file Jet.h.

References caloTowersFwdPtr_.

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

chargedEmEnergy

Definition at line 565 of file Jet.h.

References edm::hlt::Exception.

Referenced by chargedEmEnergyFraction(), and PileupJetIdAlgo::computeIdVariables().

566 {
567  if(isPFJet()){ return pfSpecific().mChargedEmEnergy; }
568  else if( isJPTJet() ){ return jptSpecific().mChargedEmEnergy;}
569  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
570 }
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
float chargedEmEnergy() const
chargedEmEnergy
Definition: Jet.h:565
virtual double energy() const
energy
float pat::Jet::chargedHadronEnergy ( ) const
inline

chargedHadronEnergy

Definition at line 551 of file Jet.h.

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

Referenced by chargedHadronEnergyFraction(), and PileupJetIdAlgo::computeIdVariables().

552 {
553  if(isPFJet()){ return pfSpecific().mChargedHadronEnergy; }
554  else if( isJPTJet() ){ return jptSpecific().mChargedHadronEnergy; }
555  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
556 }
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
float chargedHadronEnergy() const
chargedHadronEnergy
Definition: Jet.h:551
virtual double energy() const
energy
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
virtual double energy() const
energy
float chargedMuEnergy() const
chargedMuEnergy
Definition: Jet.h:397
int pat::Jet::chargedMultiplicity ( ) const
inline

chargedMultiplicity

Definition at line 586 of file Jet.h.

References edm::hlt::Exception.

Referenced by PileupJetIdAlgo::computeIdVariables(), and PFJetIDSelectionFunctor::firstDataCuts().

587 {
588  if(isPFJet()){ return pfSpecific().mChargedMultiplicity; }
592  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
593 }
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 302 of file Jet.cc.

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

Referenced by PileupJetIdAlgo::computeIdVariables(), 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()().

303 {
304  // rescale p4 of the jet; the update of current values is
305  // done within the called jecFactor function
306  for(unsigned int idx=0; idx<jec_.size(); ++idx){
307  if(set.empty() || jec_.at(idx).jecSet()==set){
308  if(jec_[idx].jecLevel(level)>=0){
309  return correctedJet(jec_[idx].jecLevel(level), jec_[idx].jecFlavor(flavor), idx);
310  }
311  else{
312  throw cms::Exception("InvalidRequest") << "This JEC level " << level << " does not exist. \n";
313  }
314  }
315  }
316  throw cms::Exception("InvalidRequest") << "This JEC set " << set << " does not exist. \n";
317 }
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:302
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
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 321 of file Jet.cc.

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

322 {
323  Jet correctedJet(*this);
324  //rescale p4 of the jet
325  correctedJet.setP4(jecFactor(level, flavor, set)*p4());
326  // update current level, flavor and set
328  return correctedJet;
329 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:302
virtual void setP4(const LorentzVector &p4)
set 4-momentum
JetCorrFactors::Flavor currentJECFlavor() const
return flavour of the current step of jet energy corrections
Definition: Jet.h: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
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Jet.h: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(); };
Jet correctedJet(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:302
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
const LorentzVector& pat::Jet::correctedP4 ( const unsigned int &  level,
const JetCorrFactors::Flavor flavor = JetCorrFactors::NONE,
const unsigned int &  set = 0 
) const
inline

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

Definition at line 149 of file Jet.h.

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

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

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

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

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

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

return flavour of the current step of jet energy corrections

Definition at line 131 of file Jet.h.

References currentJECFlavor_.

Referenced by correctedJet(), and initializeJEC().

131 { return currentJECFlavor_; };
JetCorrFactors::Flavor currentJECFlavor_
Definition: Jet.h:507
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:507
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:504
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
unsigned int currentJECSet_
Definition: Jet.h:502
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:504
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:499
unsigned int currentJECSet_
Definition: Jet.h:502
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:502
const reco::Candidate * Jet::daughter ( size_t  i) const
virtual

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 177 of file Jet.cc.

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

177  {
178  if (isCaloJet() || isJPTJet() ) {
179  if ( embeddedCaloTowers_ ) {
180  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_[i].get();
181  else if ( caloTowers_.size() > 0 ) return &caloTowers_[i];
182  else return reco::Jet::daughter(i);
183  }
184  }
185  if (isPFJet()) {
186  if ( embeddedPFCandidates_ ) {
187  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_[i].get();
188  else if ( pfCandidates_.size() > 0 ) return &pfCandidates_[i];
189  else return reco::Jet::daughter(i);
190  }
191  }
192  return reco::Jet::daughter(i);
193 }
int i
Definition: DBlmapReader.cc:9
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:478
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:483
bool isCaloJet() const
check to see if the jet is a reco::CaloJet
Definition: Jet.h:233
bool embeddedCaloTowers_
Definition: Jet.h:475
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:477
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:484
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:481
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
virtual double energy() const
energy
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 214 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()().

214  {
215  if (genJet_.size()) return &(genJet_.front());
216  else if ( genJetRef_.size() ) return genJetRef_[0].get();
217  else return genJetFwdRef_.get();
218 }
reco::GenJetRefVector genJetRef_
Definition: Jet.h:490
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:491
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:489
edm::FwdRef<reco::GenJetCollection> const& pat::Jet::genJetFwdRef ( ) const
inline

Definition at line 434 of file Jet.h.

References genJetFwdRef_.

434 { return genJetFwdRef_; }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:491
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:478
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:475
edm::Ptr< Candidate > Constituent
Definition: Jet.h:22
CaloTowerCollection caloTowers_
Definition: Jet.h:477
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:489
edm::AtomicPtrCache< std::vector< CaloTowerPtr > > caloTowersTemp_
Definition: Jet.h:476
CaloTowerCollection caloTowers_
Definition: Jet.h:477
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 334 of file Jet.cc.

References pairDiscriVector_.

334  {
335  return pairDiscriVector_;
336 }
std::vector< std::pair< std::string, float > > pairDiscriVector_
Definition: Jet.h:511
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:483
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:484
edm::Ptr< PFCandidate > PFCandidatePtr
persistent Ptr to a PFCandidate
bool embeddedPFCandidates_
Definition: Jet.h:481
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_.

Referenced by PileupJetIdAlgo::computeIdVariables().

172  {
173  if ( !pfCandidatesTemp_.isSet() || pfCandidates_.size() > 0 ) cachePFCandidates();
174  return *pfCandidatesTemp_;
175 }
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:483
bool isSet() const
void cachePFCandidates() const
method to cache the constituents to allow &quot;user-friendly&quot; access
Definition: Jet.cc:534
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > pfCandidatesTemp_
Definition: Jet.h:482
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 226 of file Jet.cc.

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

226  {
228 }
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:492
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:350
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
virtual double energy() const
energy
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
virtual double energy() const
energy
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 238 of file Jet.cc.

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

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

239 {
240  currentJECSet(set);
242  currentJECFlavor(flavor);
243  setP4(jec_[set].correction(level, flavor)*p4());
244 }
virtual void setP4(const LorentzVector &p4)
set 4-momentum
JetCorrFactors::Flavor currentJECFlavor() const
return flavour of the current step of jet energy corrections
Definition: Jet.h:131
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
std::string currentJECLevel() const
return the name of the current step of jet energy corrections
Definition: Jet.h:129
tuple level
Definition: testEve_cfg.py:34
virtual const LorentzVector & p4() const
four-momentum Lorentz vector
std::string currentJECSet() const
returns the label of the current set of jet energy corrections
Definition: Jet.h: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:524
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:525
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 270 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().

271 {
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 jecFactor(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 jet does not carry any jet energy correction factor information \n"
283  << "for a jet energy correction set with label " << set << "\n";
284 }
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
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 288 of file Jet.cc.

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

289 {
290  if(!jecSetsAvailable()){
291  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n";
292  }
293  if(!jecSetAvailable(set)){
294  throw cms::Exception("InvalidRequest") << "This jet does not carry any jet energy correction factor information \n"
295  << "for a jet energy correction set with index " << set << "\n";
296  }
297  return jec_.at(set).correction(level, flavor)/jec_.at(currentJECSet_).correction(currentJECLevel_, currentJECFlavor_);
298 }
bool jecSetsAvailable() const
Definition: Jet.h:119
unsigned int currentJECLevel_
Definition: Jet.h:504
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
tuple level
Definition: testEve_cfg.py:34
unsigned int currentJECSet_
Definition: Jet.h:502
JetCorrFactors::Flavor currentJECFlavor_
Definition: Jet.h:507
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 247 of file Jet.cc.

References jec_.

Referenced by availableJECLevels(), and jecSetAvailable().

248 {
249  for(std::vector<pat::JetCorrFactors>::const_iterator corrFactor=jec_.begin(); corrFactor!=jec_.end(); ++corrFactor)
250  if( corrFactor->jecSet()==set ){ return (corrFactor-jec_.begin()); }
251  return -1;
252 }
std::vector< pat::JetCorrFactors > jec_
Definition: Jet.h:499
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:247
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:499
bool pat::Jet::jecSetsAvailable ( ) const
inline
float Jet::jetCharge ( ) const

method to return the JetCharge computed when creating the Jet

Definition at line 417 of file Jet.cc.

References jetCharge_.

Referenced by setJetCharge().

417  {
418  return jetCharge_;
419 }
float jetCharge_
Definition: Jet.h:519
const reco::JetFlavourInfo & Jet::jetFlavourInfo ( ) const

return the JetFlavourInfo of the jet

Definition at line 231 of file Jet.cc.

References jetFlavourInfo_.

Referenced by setJetFlavourInfo().

231  {
232  return jetFlavourInfo_;
233 }
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:492
reco::JetID const& pat::Jet::jetID ( ) const
inline

accessing Jet ID information

Definition at line 428 of file Jet.h.

References jetID_.

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

428 { return jetID_;}
reco::JetID jetID_
Definition: Jet.h:529
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:525
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
float muonEnergy() const
muonEnergy
Definition: Jet.h:370
bool jecSetsAvailable() const
Definition: Jet.h:119
virtual double energy() const
energy
int pat::Jet::muonMultiplicity ( ) const
inline

muonMultiplicity

Definition at line 579 of file Jet.h.

References edm::hlt::Exception.

580 {
581  if(isPFJet()){ return pfSpecific().mMuonMultiplicity; }
583  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
584 }
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 572 of file Jet.h.

References edm::hlt::Exception.

Referenced by PileupJetIdAlgo::computeIdVariables(), and neutralEmEnergyFraction().

573 {
574  if(isPFJet()){ return pfSpecific().mNeutralEmEnergy; }
575  else if( isJPTJet() ){ return jptSpecific().mNeutralEmEnergy;}
576  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
577 }
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
float neutralEmEnergy() const
neutralEmEnergy
Definition: Jet.h:572
virtual double energy() const
energy
float pat::Jet::neutralHadronEnergy ( ) const
inline

neutralHadronEnergy

Definition at line 558 of file Jet.h.

References edm::hlt::Exception.

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

559 {
560  if(isPFJet()){ return pfSpecific().mNeutralHadronEnergy; }
561  else if( isJPTJet() ){ return jptSpecific().mNeutralHadronEnergy; }
562  else{ throw cms::Exception("Type Mismatch") << "This PAT jet was not made from a JPTJet nor from PFJet.\n"; }
563 }
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());}
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
float neutralHadronEnergy() const
neutralHadronEnergy
Definition: Jet.h:558
virtual double energy() const
energy
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().

Referenced by PileupJetIdAlgo::computeIdVariables().

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

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 195 of file Jet.cc.

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

195  {
196  if (isCaloJet() || isJPTJet()) {
197  if ( embeddedCaloTowers_ ) {
198  if ( caloTowersFwdPtr_.size() > 0 ) return caloTowersFwdPtr_.size();
199  else if ( caloTowers_.size() > 0 ) return caloTowers_.size();
200  else return reco::Jet::numberOfDaughters();
201  }
202  }
203  if (isPFJet()) {
204  if ( embeddedPFCandidates_ ) {
205  if ( pfCandidatesFwdPtr_.size() > 0 ) return pfCandidatesFwdPtr_.size();
206  else if ( pfCandidates_.size() > 0 ) return pfCandidates_.size();
207  else return reco::Jet::numberOfDaughters();
208  }
209  }
211 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:478
reco::PFCandidateCollection pfCandidates_
Definition: Jet.h:483
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:475
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:477
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:484
size_type size() const
bool embeddedPFCandidates_
Definition: Jet.h:481
int Jet::partonFlavour ( ) const

return the parton-based flavour of the jet

Definition at line 221 of file Jet.cc.

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

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

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

Definition at line 433 of file Jet.h.

References pfCandidatesFwdPtr_.

433 { return pfCandidatesFwdPtr_; }
reco::PFCandidateFwdPtrVector pfCandidatesFwdPtr_
Definition: Jet.h:484
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:526
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
float jecFactor(const std::string &level, const std::string &flavor="none", const std::string &set="") const
Definition: Jet.cc:270
bool jecSetsAvailable() const
Definition: Jet.h:119
virtual double energy() const
energy
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 427 of file Jet.cc.

References associatedTracks_, and testEve_cfg::tracks.

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

427  {
429 }
reco::TrackRefVector associatedTracks_
Definition: Jet.h:520
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:524
void Jet::setCaloTowers ( const CaloTowerFwdPtrCollection caloTowers)

method to store the CaloJet constituents internally

Definition at line 432 of file Jet.cc.

References caloTowersFwdPtr_, caloTowersTemp_, and embeddedCaloTowers_.

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

432  {
433  caloTowersFwdPtr_.reserve(caloTowers.size());
434  for(auto const& tower : caloTowers) {
435  caloTowersFwdPtr_.push_back( tower );
436  }
437  embeddedCaloTowers_ = true;
438  caloTowersTemp_.reset();
439 }
CaloTowerFwdPtrVector caloTowersFwdPtr_
Definition: Jet.h:478
edm::AtomicPtrCache< std::vector< CaloTowerPtr > > caloTowersTemp_
Definition: Jet.h:476
bool embeddedCaloTowers_
Definition: Jet.h:475
void Jet::setGenJetRef ( const edm::FwdRef< reco::GenJetCollection > &  gj)

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

Definition at line 454 of file Jet.cc.

References genJetFwdRef_.

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

455 {
456  genJetFwdRef_ = gj;
457 }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:491
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 467 of file Jet.cc.

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

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

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

method to set the jet charge

Definition at line 482 of file Jet.cc.

References jetCharge(), and jetCharge_.

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

482  {
484 }
float jetCharge_
Definition: Jet.h:519
float jetCharge() const
method to return the JetCharge computed when creating the Jet
Definition: Jet.cc:417
void Jet::setJetFlavourInfo ( const reco::JetFlavourInfo jetFlavourInfo)

method to set the JetFlavourInfo of the jet

Definition at line 472 of file Jet.cc.

References jetFlavourInfo(), and jetFlavourInfo_.

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

472  {
474 }
const reco::JetFlavourInfo & jetFlavourInfo() const
return the JetFlavourInfo of the jet
Definition: Jet.cc:231
reco::JetFlavourInfo jetFlavourInfo_
Definition: Jet.h:492
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:529
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:525
void Jet::setPartonFlavour ( int  partonFl)

method to set the parton-based flavour of the jet

Definition at line 462 of file Jet.cc.

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

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

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

method to store the PFCandidate constituents internally

method to store the CaloJet constituents internally

Definition at line 443 of file Jet.cc.

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

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

443  {
444  pfCandidatesFwdPtr_.reserve(pfCandidates.size());
445  for(auto const& cand : pfCandidates) {
446  pfCandidatesFwdPtr_.push_back(cand);
447  }
448  embeddedPFCandidates_ = true;
450 }
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:484
edm::AtomicPtrCache< std::vector< reco::PFCandidatePtr > > pfCandidatesTemp_
Definition: Jet.h:482
bool embeddedPFCandidates_
Definition: Jet.h:481
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:526
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 350 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().

350  {
351  std::vector<std::string>::const_iterator it = std::find(tagInfoLabels_.begin(), tagInfoLabels_.end(), label);
352  if (it != tagInfoLabels_.end()) {
353  if ( tagInfosFwdPtr_.size() > 0 ) return tagInfosFwdPtr_[it - tagInfoLabels_.begin()].get();
354  else if ( tagInfos_.size() > 0 ) return & tagInfos_[it - tagInfoLabels_.begin()];
355  return 0;
356  }
357  return 0;
358 }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:514
size_type size() const
Definition: OwnVector.h:248
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:513
std::vector< std::string > tagInfoLabels_
Definition: Jet.h:512
template<typename T >
const T * Jet::tagInfoByType ( ) const
private

Definition at line 362 of file Jet.cc.

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

362  {
363  // First check the factorized PAT version
364  for (size_t i = 0, n = tagInfosFwdPtr_.size(); i < n; ++i) {
366  reco::BaseTagInfo const * baseTagInfo = val.get();
367  if ( typeid(*baseTagInfo) == typeid(T) ) {
368  return static_cast<const T *>( baseTagInfo );
369  }
370  }
371  // Then check compatibility version
372  for (size_t i = 0, n = tagInfos_.size(); i < n; ++i) {
374  reco::BaseTagInfo const * baseTagInfo = &val;
375  if ( typeid(*baseTagInfo) == typeid(T) ) {
376  return static_cast<const T *>( baseTagInfo );
377  }
378  }
379  return 0;
380 }
int i
Definition: DBlmapReader.cc:9
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:514
size_type size() const
Definition: OwnVector.h:248
edm::OwnVector< reco::BaseTagInfo > tagInfos_
Definition: Jet.h:513
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 397 of file Jet.cc.

References tagInfo().

397  {
398  return (label.empty() ? tagInfoByType<reco::SecondaryVertexTagInfo>()
399  : dynamic_cast<const reco::SecondaryVertexTagInfo *>(tagInfo(label)) );
400 }
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:350
TagInfoFwdPtrCollection const& pat::Jet::tagInfosFwdPtr ( ) const
inline

Definition at line 435 of file Jet.h.

References tagInfosFwdPtr_.

435 { return tagInfosFwdPtr_; }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:514
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 391 of file Jet.cc.

References tagInfo().

391  {
392  return (label.empty() ? tagInfoByType<reco::SoftLeptonTagInfo>()
393  : dynamic_cast<const reco::SoftLeptonTagInfo *>(tagInfo(label)) );
394 }
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:350
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 385 of file Jet.cc.

References tagInfo().

385  {
386  return (label.empty() ? tagInfoByType<reco::TrackIPTagInfo>()
387  : dynamic_cast<const reco::TrackIPTagInfo *>(tagInfo(label)) );
388 }
const reco::BaseTagInfo * tagInfo(const std::string &label) const
Definition: Jet.cc:350
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(), jptJet, 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:526
std::vector< CaloSpecific > specificCalo_
Definition: Jet.h:524
Jets made from CaloJets corrected for ZSP and tracks.
Definition: JPTJet.h:29
std::vector< JPTSpecific > specificJPT_
Definition: Jet.h:525
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 439 of file Jet.h.

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

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

Definition at line 464 of file Jet.h.

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

464  {
466  }
edm::FwdRef< reco::GenJetCollection > genJetFwdRef_
Definition: Jet.h:491
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 447 of file Jet.h.

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

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

Definition at line 456 of file Jet.h.

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

456  {
457  if ( index < tagInfosFwdPtr_.size() ) {
459  } else {
460  throw cms::Exception("OutOfRange") << "Index " << index << " is out of range" << std::endl;
461  }
462  }
TagInfoFwdPtrCollection tagInfosFwdPtr_
Definition: Jet.h:514
unsigned int index
Definition: LeafCandidate.h:36
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 520 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 476 of file Jet.h.

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

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

Definition at line 507 of file Jet.h.

Referenced by currentJECFlavor(), and jecFactor().

unsigned int pat::Jet::currentJECLevel_
protected

Definition at line 504 of file Jet.h.

Referenced by currentJECLevel(), and jecFactor().

unsigned int pat::Jet::currentJECSet_
protected

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

Referenced by genJet().

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

Definition at line 491 of file Jet.h.

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

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

Definition at line 490 of file Jet.h.

Referenced by genJet().

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

Definition at line 519 of file Jet.h.

Referenced by jetCharge(), and setJetCharge().

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

Definition at line 529 of file Jet.h.

Referenced by jetID(), and setJetID().

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

Definition at line 511 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 482 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 525 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 512 of file Jet.h.

Referenced by addTagInfo(), and tagInfo().

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

Definition at line 513 of file Jet.h.

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

TagInfoFwdPtrCollection pat::Jet::tagInfosFwdPtr_
protected