CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/Alignment/HIPAlignmentAlgorithm/interface/LhcTrackAnalyzer.h

Go to the documentation of this file.
00001 #ifndef LhcTrackAnalyzer_h
00002 #define LhcTrackAnalyzer_h
00003 
00004 //#include "DataFormats/Common/interface/EDProduct.h"
00005 #include "FWCore/Framework/interface/Frameworkfwd.h"
00006 #include "FWCore/Framework/interface/EDAnalyzer.h"
00007 #include "FWCore/Framework/interface/Event.h"
00008 #include "FWCore/Framework/interface/ESHandle.h"
00009 #include "FWCore/Framework/interface/EventSetup.h"
00010 #include "FWCore/Framework/interface/MakerMacros.h"
00011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00012 
00013 #include "TFile.h"
00014 #include "TH1D.h"
00015 #include "TH1I.h"
00016 #include "TH2D.h"
00017 #include "TTree.h"
00018 
00019 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
00020 
00021 #include "DataFormats/TrackCandidate/interface/TrackCandidate.h"
00022 #include "DataFormats/TrackCandidate/interface/TrackCandidateCollection.h"
00023 #include "DataFormats/TrackReco/interface/Track.h"
00024 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00025 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00026 #include "DataFormats/DetId/interface/DetId.h"
00027 #include "DataFormats/SiStripDetId/interface/TIBDetId.h"
00028 #include "DataFormats/SiStripDetId/interface/TIDDetId.h"
00029 #include "DataFormats/SiStripDetId/interface/TOBDetId.h"
00030 #include "DataFormats/SiStripDetId/interface/TECDetId.h"
00031 #include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
00032 #include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h"
00033 
00034 //FOR CLUSTERINFO
00035 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
00036 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
00037 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
00038 //#include "DataFormats/SiStripCluster/interface/SiStripClusterInfo.h"
00039 #include "DataFormats/Common/interface/DetSetVector.h"
00040 
00041 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00042 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00043 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00044 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00045 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00046 
00047 
00048 
00049 // system include files
00050 #include <iostream>
00051 #include <memory>
00052 #include <string>
00053 #include <sstream>
00054 #include <vector>
00055 #include <map>
00056 
00057 //
00058 // class decleration
00059 //
00060 
00061 class LhcTrackAnalyzer : public edm::EDAnalyzer {
00062 
00063  public:
00064   explicit LhcTrackAnalyzer(const edm::ParameterSet&);
00065   ~LhcTrackAnalyzer();
00066 
00067  private:
00068   virtual void beginJob() ;
00069   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00070   virtual void endJob() ;
00071 
00072   // ----------member data ---------------------------
00073   edm::InputTag  TrackCollectionTag_;
00074   edm::InputTag  PVtxCollectionTag_;
00075   bool debug_;
00076   
00077   // Output
00078   std::string filename_;     
00079   TFile* rootFile_;
00080   TTree* rootTree_;
00081   
00082   // Root-Tuple variables :
00083   //=======================
00084   void SetVarToZero();  
00085 
00086   static const int nMaxtracks_ = 3000;
00087   int nTracks_;
00088   int run_;
00089   int event_;
00090   double pt_[nMaxtracks_];           
00091   double eta_[nMaxtracks_];
00092   double phi_[nMaxtracks_];
00093   double chi2_[nMaxtracks_];
00094   double chi2ndof_[nMaxtracks_];
00095   int    charge_[nMaxtracks_];
00096   double qoverp_[nMaxtracks_];
00097   double dz_[nMaxtracks_];
00098   double dxy_[nMaxtracks_];
00099   double xPCA_[nMaxtracks_];
00100   double yPCA_[nMaxtracks_];
00101   double zPCA_[nMaxtracks_];
00102   int trkAlgo_[nMaxtracks_];
00103   int trkQuality_[nMaxtracks_];
00104   int isHighPurity_[nMaxtracks_];
00105   int validhits_[nMaxtracks_][7];
00106   bool goodbx_;
00107   bool goodvtx_;
00108 
00109 };
00110 
00111 #endif