--- UserCode/MitPhysics/Utils/interface/JetTools.h 2010/08/19 14:37:31 1.4 +++ UserCode/MitPhysics/Utils/interface/JetTools.h 2011/02/23 11:38:09 1.11 @@ -1,11 +1,3 @@ -//------------------- -// -// Jet Tools -// -// S Markson -// -//------------------- - #ifndef MITPHYSICS_UTILS_JETTOOLS_H #define MITPHYSICS_UTILS_JETTOOLS_H @@ -13,35 +5,43 @@ #include "MitAna/DataUtil/interface/Debug.h" #include "MitAna/DataTree/interface/Names.h" #include "MitAna/DataTree/interface/ParticleCol.h" +#include "MitAna/DataTree/interface/PFCandidateCol.h" #include "MitAna/DataTree/interface/JetCol.h" -#include "MitAna/DataTree/interface/Jet.h" +#include "MitAna/DataTree/interface/PFJetCol.h" #include "MitPhysics/Init/interface/ModNames.h" #include "MitAna/DataCont/interface/ObjArray.h" #include "MitAna/DataTree/interface/TrackCol.h" #include "MitAna/DataTree/interface/CaloTowerCol.h" #include "MitAna/DataTree/interface/MetCol.h" +#include "MitAna/DataTree/interface/VertexCol.h" #include #include namespace mithep { class JetTools { - public: - JetTools(); - virtual ~JetTools(); - - static Double_t NJettiness(const ParticleOArr *particles, const JetOArr *jets, bool UseQ = kFALSE, double Y = 0.0); - static Double_t NJettiness(const TrackOArr *tracks, const JetOArr *jets, bool UseQ = kFALSE, double Y = 0.0); - static Double_t NJettiness(const JetOArr *jetsS, const JetOArr *jets, bool UseQ = kFALSE, double Y = 0.0); - static Double_t NJettiness(const CaloTowerOArr *calos, const JetOArr *jets, bool UseQ = kFALSE, double Y = 0.0); - static Double_t M_r(const ParticleOArr *particles); - static Double_t Beta_r(const ParticleOArr *particles); - static Double_t M_r_t(const ParticleOArr *particles, const Met *met); - static Double_t Razor(const ParticleOArr *particles, const Met *met); - static Double_t CosineOmega(const Particle *particles0, const Particle *particles1); - static Double_t MtHiggs(const ParticleOArr *leptons, const Met *met, double metFraction[2], int nsel); + public: + JetTools(); + virtual ~JetTools(); + + static Double_t NJettiness(const ParticleOArr *particles, const JetOArr *jets, double Q = 1, double Y = 0.0); + static Double_t NJettiness(const PFCandidateOArr *particles, const JetOArr *jets, double Q = 1, double Y = 0.0); + static Double_t NJettiness(const TrackOArr *tracks, const JetOArr *jets, double Q = 1, double Y = 0.0); + static Double_t NJettiness(const JetOArr *jetsS, const JetOArr *jets, double Q = 1, double Y = 0.0); + static Double_t NJettiness(const CaloTowerOArr *calos, const JetOArr *jets, double Q = 1, double Y = 0.0); + + static Double_t M_r(const ParticleOArr *particles); + static Double_t Beta_r(const ParticleOArr *particles); + static Double_t M_r_t(const ParticleOArr *particles, const Met *met); + static Double_t Razor(const ParticleOArr *particles, const Met *met); + static Double_t CosineOmega(const Particle *particles0, const Particle *particles1); + static Double_t MtHiggs(const ParticleOArr *leptons, const Met *met, double metFraction[2], int nsel); + static Double_t Beta(const TrackCol *tracks, Jet *jet, const Vertex *vertex, Double_t delta_z, Double_t delta_cone); + static Double_t Beta(const PFJet *jet, const Vertex *vertex, Double_t delta_z); + static Bool_t PassBetaVertexAssociationCut(const PFJet *jet, const Vertex *referenceVertex, const VertexCol *vertices, Double_t delta_z); - ClassDef(JetTools, 0) + ClassDef(JetTools, 0) }; + } #endif