CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/RecoVertex/KalmanVertexFit/interface/SimpleVertexTree.h

Go to the documentation of this file.
00001 #ifndef SimpleVertexTree_H
00002 #define SimpleVertexTree_H
00003 
00004 #include <string>
00005 
00006 #include "RecoVertex/VertexPrimitives/interface/TransientVertex.h"
00007 #include "RecoVertex/KalmanVertexFit/interface/VertexFitterResult.h"
00008 #include "SimDataFormats/TrackingAnalysis/interface/TrackingVertex.h"
00009 #include "SimTracker/TrackAssociation/interface/TrackAssociatorByChi2.h"
00010 
00011 #include "TString.h"
00012 
00038 class TFile;
00039 class TTree;
00040 
00041 class SimpleVertexTree {
00042 public:
00043 
00049   SimpleVertexTree(const char * fitterName = "VertexFitter",
00050                    TrackAssociatorByChi2 * associator = 0);
00051   virtual ~SimpleVertexTree();
00052 
00059   void fill(const TransientVertex & recv, const TrackingVertex *simv = 0, 
00060             reco::RecoToSimCollection *recSimColl = 0,
00061             const float &time = 0.);
00062 
00063   void fill(const TransientVertex & recv, const TrackingVertex *simv = 0,
00064             const float &time = 0.);
00065 
00071   void fill(const TransientVertex & recv, const float &time = 0.);
00072 
00077   void fill(const TrackingVertex *simv);
00078 
00079 //   void fill(const TransientVertex & recVertex, const std::vector < RecTrack > & recTrackV,
00080 //                      const SimVertex * simv, const float &time);
00081 // 
00082 //   void fill(const std::vector < RecTrack > & recTrackV, const TkSimVertex * simv = 0, 
00083 //                      const float &time = 0.);
00084 
00088   void fill();
00089 
00090 private:
00091 
00092   void defineTrackBranch(const TString& prefix, const TString& type,
00093                         const float* (VertexFitterResult::*pfunc)(const int) const,
00094                         const TString& index);
00095 
00096   float simPos[3];
00097   float recPos[3];
00098   float recErr[3];
00099   float chiTot, ndf, chiProb;
00100   int numberOfVertices;
00101   TTree* vertexTree;
00102   VertexFitterResult* result;
00103   TString theFitterName;
00104 
00105   bool trackTest;
00106   int maxTrack;
00107   TString* parameterNames[5];
00108   TrackAssociatorByChi2 * associatorForParamAtPca;
00109 };
00110 #endif
00111