CMS 3D CMS Logo

TrackAnalyzer.h

Go to the documentation of this file.
00001 #ifndef TrackAnalyzer_H
00002 #define TrackAnalyzer_H
00003 // -*- C++ -*-
00004 //
00005 // 
00009 // Original Author:  Suchandra Dutta, Giorgia Mila
00010 //         Created:  Thu 28 22:45:30 CEST 2008
00011 // $Id: TrackAnalyzer.h,v 1.1 2008/12/11 11:54:10 giorgia Exp $
00012 
00013 #include <memory>
00014 #include <fstream>
00015 #include "FWCore/Framework/interface/Frameworkfwd.h"
00016 #include "FWCore/Framework/interface/EDAnalyzer.h"
00017 #include "FWCore/Framework/interface/Event.h"
00018 #include "FWCore/Framework/interface/MakerMacros.h"
00019 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00020 #include "FWCore/ServiceRegistry/interface/Service.h"
00021 #include "DQMServices/Core/interface/MonitorElement.h"
00022 
00023 class DQMStore;
00024 
00025 class TrackAnalyzer {
00026  public:
00027   TrackAnalyzer(const edm::ParameterSet&);
00028   virtual ~TrackAnalyzer();
00029   virtual void beginJob(edm::EventSetup const& iSetup,DQMStore * dqmStore_);
00030   
00031   virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup, const reco::Track& track);
00032   
00033  private:
00034 
00035   void fillHistosForState(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
00036   void bookHistosForState(std::string sname, DQMStore * dqmStore_);
00037   void doTrackerSpecificInitialization(DQMStore * dqmStore_);
00038   void doTrackerSpecificFillHists(const reco::Track & track);
00039   
00040   // ----------member data ---------------------------
00041   
00042 //  unsigned int minTracks_;
00043   
00044   std::string histname;  //for naming the histograms according to algorithm used
00045   
00046   edm::ParameterSet conf_;
00047 
00048   
00049   MonitorElement * NumberOfRecHitsPerTrack;
00050   MonitorElement * NumberOfRecHitsFoundPerTrack;
00051   MonitorElement * NumberOfRecHitsLostPerTrack;
00052   MonitorElement * NumberOfTOBRecHitsPerTrack;
00053   MonitorElement * NumberOfTIBRecHitsPerTrack;
00054   MonitorElement * NumberOfTIDRecHitsPerTrack;
00055   MonitorElement * NumberOfTECRecHitsPerTrack;
00056   MonitorElement * NumberOfPixBarrelRecHitsPerTrack;
00057   MonitorElement * NumberOfPixEndcapRecHitsPerTrack;
00058   MonitorElement * NumberOfLayersPerTrack;
00059   MonitorElement * NumberOfTOBLayersPerTrack;
00060   MonitorElement * NumberOfTIBLayersPerTrack;
00061   MonitorElement * NumberOfTIDLayersPerTrack;
00062   MonitorElement * NumberOfTECLayersPerTrack;
00063   MonitorElement * NumberOfPixBarrelLayersPerTrack;
00064   MonitorElement * NumberOfPixEndcapLayersPerTrack;
00065   MonitorElement * Chi2;
00066   MonitorElement * Chi2overDoF;
00067   MonitorElement * DistanceOfClosestApproach;
00068   MonitorElement * DistanceOfClosestApproachVsTheta;
00069   MonitorElement * DistanceOfClosestApproachVsPhi;
00070   MonitorElement * DistanceOfClosestApproachVsEta;
00071   MonitorElement * xPointOfClosestApproach;
00072   MonitorElement * yPointOfClosestApproach;
00073   MonitorElement * zPointOfClosestApproach;
00074   
00075   
00076   struct TkParameterMEs {
00077     MonitorElement * TrackPx;
00078     MonitorElement * TrackPy;
00079     MonitorElement * TrackPz;
00080     MonitorElement * TrackPt;
00081     
00082     MonitorElement * TrackPxErr;
00083     MonitorElement * TrackPyErr;
00084     MonitorElement * TrackPzErr;
00085     MonitorElement * TrackPtErr;
00086     MonitorElement * TrackPErr;
00087     
00088     MonitorElement * TrackPhi;
00089     MonitorElement * TrackEta;
00090     MonitorElement * TrackTheta;
00091     
00092     MonitorElement * TrackPhiErr;
00093     MonitorElement * TrackEtaErr;
00094     MonitorElement * TrackThetaErr;
00095     
00096     MonitorElement * NumberOfRecHitsPerTrackVsPhi;
00097     MonitorElement * NumberOfRecHitsPerTrackVsTheta;
00098     MonitorElement * NumberOfRecHitsPerTrackVsEta;
00099     
00100     MonitorElement * Chi2overDoFVsTheta;
00101     MonitorElement * Chi2overDoFVsPhi;
00102     MonitorElement * Chi2overDoFVsEta;
00103     
00104   };
00105   
00106   std::map<std::string, TkParameterMEs> TkParameterMEMap;
00107   
00108  bool createHistosForState_;
00109  bool doTrackerSpecific_;
00110  
00111 };
00112 #endif

Generated on Tue Jun 9 17:33:42 2009 for CMSSW by  doxygen 1.5.4