ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/JetTools.h
Revision: 1.16
Committed: Fri May 25 20:01:40 2012 UTC (12 years, 11 months ago) by pharris
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_028a
Changes since 1.15: +2 -1 lines
Log Message:
added cut based jet id

File Contents

# Content
1 #ifndef MITPHYSICS_UTILS_JETTOOLS_H
2 #define MITPHYSICS_UTILS_JETTOOLS_H
3
4 #include "MitCommon/MathTools/interface/MathUtils.h"
5 #include "MitAna/DataUtil/interface/Debug.h"
6 #include "MitAna/DataTree/interface/Names.h"
7 #include "MitAna/DataTree/interface/ParticleCol.h"
8 #include "MitAna/DataTree/interface/PFCandidateCol.h"
9 #include "MitAna/DataTree/interface/JetCol.h"
10 #include "MitAna/DataTree/interface/PFJetCol.h"
11 #include "MitPhysics/Init/interface/ModNames.h"
12 #include "MitAna/DataCont/interface/ObjArray.h"
13 #include "MitAna/DataTree/interface/TrackCol.h"
14 #include "MitAna/DataTree/interface/CaloTowerCol.h"
15 #include "MitAna/DataTree/interface/MetCol.h"
16 #include "MitAna/DataTree/interface/VertexCol.h"
17 #include <TVector3.h>
18 #include <TLorentzVector.h>
19
20 namespace mithep {
21 class JetTools {
22 public:
23 JetTools();
24 virtual ~JetTools();
25
26 static Double_t NJettiness(const ParticleOArr *particles, const JetOArr *jets, double Q = 1, double Y = 0.0);
27 static Double_t NJettiness(const PFCandidateOArr *particles, const JetOArr *jets, double Q = 1, double Y = 0.0);
28 static Double_t NJettiness(const TrackOArr *tracks, const JetOArr *jets, double Q = 1, double Y = 0.0);
29 static Double_t NJettiness(const JetOArr *jetsS, const JetOArr *jets, double Q = 1, double Y = 0.0);
30 static Double_t NJettiness(const CaloTowerOArr *calos, const JetOArr *jets, double Q = 1, double Y = 0.0);
31
32 static Double_t M_r(const ParticleOArr *particles);
33 static Double_t Beta_r(const ParticleOArr *particles);
34 static Double_t M_r_t(const ParticleOArr *particles, const Met *met);
35 static Double_t Razor(const ParticleOArr *particles, const Met *met);
36 static Double_t CosineOmega(const Particle *particles0, const Particle *particles1);
37 static Double_t MtHiggs(const ParticleOArr *leptons, const Met *met, double metFraction[2], int nsel);
38 static Double_t Beta(const TrackCol *tracks, Jet *jet, const Vertex *vertex, Double_t delta_z, Double_t delta_cone);
39 static Double_t Beta(const PFJet *jet, const Vertex *vertex, Double_t delta_z);
40 static Bool_t PassBetaVertexAssociationCut(const PFJet *jet, const Vertex *referenceVertex, const VertexCol *vertices, Double_t delta_z);
41 static Double_t Beta2(const PFJet *jet, const Vertex *vertex, Double_t delta_z);
42 static Bool_t PassBeta2VertexAssociationCut(const PFJet *jet, const Vertex *referenceVertex, const VertexCol *vertices, Double_t delta_z);
43 static Int_t MaxBetaVertexIndex(const PFJet *jet, const VertexCol *vertices, Double_t delta_z);
44 static Int_t MaxBeta2VertexIndex(const PFJet *jet, const VertexCol *vertices, Double_t delta_z);
45 static Int_t JetToPVAssociation(const PFJet *jet, const VertexCol *vertices, Double_t delta_z);
46 static Double_t betaStarClassic(const PFJet *iJet,const Vertex *iVertex,const VertexCol* iVertices);
47
48 static Double_t impactParameter(const PFJet *iJet,const Vertex *iVertex,bool iDZ=false);
49 static const PFCandidate* leadCand (const PFJet *iJet,int iPFType,bool i2nd=false);
50 static Double_t dRMean (const PFJet *iJet,int iPFType);
51 static Double_t dR2Mean (const PFJet *iJet,int iPFType);
52 static Double_t frac (const PFJet *iJet,Double_t iDRMax,Double_t iDRMin,Int_t iPFType);
53 static Double_t betaStar (const PFJet *iJet,const Vertex *iVertex,const VertexCol* iVertices,Double_t iDZCut=0.2);
54 static Bool_t passPFLooseId (const PFJet *iJet);
55 ClassDef(JetTools, 0)
56 };
57
58 }
59
60 #endif