ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/VertexTools.h
Revision: 1.2
Committed: Thu Jun 16 02:53:03 2011 UTC (13 years, 10 months ago) by maxi
Content type: text/plain
Branch: MAIN
Changes since 1.1: +39 -6 lines
Log Message:
first version

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id $
3     //
4     // VertexTools
5     //
6     // Helper Class for photon Identification decisions.
7     //
8     // Authors: J.Bendavid
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITPHYSICS_UTILS_VERTEXTOOLS_H
12     #define MITPHYSICS_UTILS_VERTEXTOOLS_H
13    
14     #include "MitAna/DataTree/interface/Photon.h"
15     #include "MitAna/DataTree/interface/Electron.h"
16     #include "MitAna/DataTree/interface/ElectronCol.h"
17     #include "MitAna/DataTree/interface/BaseVertex.h"
18     #include "MitAna/DataTree/interface/DecayParticleCol.h"
19     #include "MitAna/DataTree/interface/VertexCol.h"
20     #include "MitAna/DataTree/interface/BeamSpotCol.h"
21     #include "MitAna/DataTree/interface/TriggerObjectCol.h"
22     #include "MitCommon/MathTools/interface/MathUtils.h"
23     #include "MitPhysics/Utils/interface/VertexMVA.h"
24 maxi 1.2 #include "MitAna/DataTree/interface/PFCandidateCol.h"
25 bendavid 1.1
26 maxi 1.2 #include "TMVA/Reader.h"
27 bendavid 1.1
28     namespace mithep {
29 maxi 1.2 typedef std::vector<double> VertexZarray;
30    
31 bendavid 1.1 class VertexTools {
32 maxi 1.2 public:
33    
34     static double NewMass(const Photon* ph1, const Photon* ph2, const BaseVertex* vert);
35    
36     static VertexZarray ExtractZarray(const VertexCol* vcol, float zmin=-30, float zmax = 30,
37     const BaseVertex *fBeamSpot = NULL);
38     static VertexZarray ExtractZarray(float zmin=-30, float zmax=30, float step=0.05);
39    
40     static const Vertex* BestVtx(const PFCandidateCol *fPFJets, const VertexCol *c,
41     const BaseVertex *fBeamSpot, FourVector diboso);
42     static double BestVtx(const PFCandidateCol *fPFJets, VertexZarray zcol,
43     const BaseVertex *fBeamSpot, FourVector diboso);
44     static double Prob(const PFCandidateCol *fPFJets, double zpos,
45     const BaseVertex *fBeamSpot, FourVector diboso);
46    
47     static double VertexWidth(const Vertex*, const BaseVertex* );
48    
49     static VertexTools* instance(const char* str){
50     if(meobject == NULL){
51     meobject = new VertexTools(str);
52     }
53     return meobject;
54     }
55    
56     Float_t tmvar1, tmvar2, tmvar3, tmvar4, tmvar5, tmvar6;
57     TMVA::Reader* reader;
58    
59     private:
60     static VertexTools *meobject;
61    
62     VertexTools();
63     VertexTools(const char* str);
64     TString relname;
65    
66 bendavid 1.1 ClassDef(VertexTools, 0) // Muon tools
67 maxi 1.2 };
68 bendavid 1.1 }
69    
70     #endif