ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitPhysics/Utils/interface/VertexTools.h
Revision: 1.3
Committed: Fri Jul 1 13:49:01 2011 UTC (13 years, 10 months ago) by maxi
Content type: text/plain
Branch: MAIN
Changes since 1.2: +6 -0 lines
Log Message:
updated 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 maxi 1.3 typedef std::vector<const Track*> TrackArray;
31 maxi 1.2
32 bendavid 1.1 class VertexTools {
33 maxi 1.2 public:
34    
35     static double NewMass(const Photon* ph1, const Photon* ph2, const BaseVertex* vert);
36    
37     static VertexZarray ExtractZarray(const VertexCol* vcol, float zmin=-30, float zmax = 30,
38     const BaseVertex *fBeamSpot = NULL);
39     static VertexZarray ExtractZarray(float zmin=-30, float zmax=30, float step=0.05);
40    
41     static const Vertex* BestVtx(const PFCandidateCol *fPFJets, const VertexCol *c,
42     const BaseVertex *fBeamSpot, FourVector diboso);
43     static double BestVtx(const PFCandidateCol *fPFJets, VertexZarray zcol,
44     const BaseVertex *fBeamSpot, FourVector diboso);
45     static double Prob(const PFCandidateCol *fPFJets, double zpos,
46     const BaseVertex *fBeamSpot, FourVector diboso);
47    
48     static double VertexWidth(const Vertex*, const BaseVertex* );
49 maxi 1.3
50     static void BanThisTrack(const Track*);
51     static void Reset();
52 maxi 1.2
53     static VertexTools* instance(const char* str){
54     if(meobject == NULL){
55     meobject = new VertexTools(str);
56     }
57     return meobject;
58     }
59    
60     Float_t tmvar1, tmvar2, tmvar3, tmvar4, tmvar5, tmvar6;
61     TMVA::Reader* reader;
62    
63     private:
64     static VertexTools *meobject;
65    
66     VertexTools();
67     VertexTools(const char* str);
68     TString relname;
69 maxi 1.3 TrackArray excluded;
70    
71 maxi 1.2
72 bendavid 1.1 ClassDef(VertexTools, 0) // Muon tools
73 maxi 1.2 };
74 bendavid 1.1 }
75    
76     #endif