CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Validation/GlobalHits/interface/GlobalHitsProdHistStripper.h

Go to the documentation of this file.
00001 #ifndef GlobalHitsProdHistStripper_h
00002 #define GlobalHitsProdHistStripper_h
00003 
00013 // framework & common header files
00014 #include "FWCore/Framework/interface/EDAnalyzer.h"
00015 #include "FWCore/Framework/interface/Frameworkfwd.h"
00016 #include "FWCore/Framework/interface/Event.h"
00017 #include "FWCore/Framework/interface/Run.h"
00018 #include "FWCore/Framework/interface/EventSetup.h"
00019 #include "DataFormats/Common/interface/Handle.h"
00020 #include "FWCore/Framework/interface/ESHandle.h"
00021 #include "DataFormats/Provenance/interface/Provenance.h"
00022 #include "FWCore/Framework/interface/MakerMacros.h"
00023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00024 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00025 
00026 //DQM services
00027 #include "DQMServices/Core/interface/DQMStore.h"
00028 #include "FWCore/ServiceRegistry/interface/Service.h"
00029 
00030 // helper files
00031 //#include <CLHEP/Vector/LorentzVector.h>
00032 #include "DataFormats/Math/interface/LorentzVector.h"
00033 #include "CLHEP/Units/GlobalSystemOfUnits.h"
00034 
00035 #include <iostream>
00036 #include <stdlib.h>
00037 #include <string>
00038 #include <memory>
00039 #include <vector>
00040 
00041 #include "TString.h"
00042 #include "DQMServices/Core/interface/MonitorElement.h"
00043 
00044 class GlobalHitsProdHistStripper : public edm::EDAnalyzer
00045 {
00046   
00047  public:
00048 
00049   //typedef std::vector<float> FloatVector;
00050 
00051   explicit GlobalHitsProdHistStripper(const edm::ParameterSet&);
00052   virtual ~GlobalHitsProdHistStripper();
00053   virtual void beginJob( void );
00054   virtual void endJob();  
00055   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00056   virtual void beginRun(const edm::Run&, const edm::EventSetup&);
00057   virtual void endRun(const edm::Run&, const edm::EventSetup&);
00058   
00059  private:
00060 
00061   //  parameter information
00062   std::string fName;
00063   int verbosity;
00064   int frequency;
00065   int vtxunit;
00066   bool getAllProvenances;
00067   bool printProvenanceInfo;
00068 
00069 
00070   DQMStore *dbe;
00071   std::string outputfile;
00072   bool doOutput;
00073 
00074   std::map<std::string,MonitorElement*> monitorElements;
00075 
00076   std::vector<MonitorElement*> me;
00077 
00078   // G4MC info
00079   MonitorElement *meMCRGP[2];
00080   MonitorElement *meMCG4Vtx[2];
00081   MonitorElement *meGeantVtxX[2];
00082   MonitorElement *meGeantVtxY[2];  
00083   MonitorElement *meGeantVtxZ[2];  
00084   MonitorElement *meMCG4Trk[2];
00085   MonitorElement *meGeantTrkPt;
00086   MonitorElement *meGeantTrkE; 
00087 
00088   // Electromagnetic info
00089   // ECal info
00090   MonitorElement *meCaloEcal[2];
00091   MonitorElement *meCaloEcalE[2];
00092   MonitorElement *meCaloEcalToF[2];
00093   MonitorElement *meCaloEcalPhi;
00094   MonitorElement *meCaloEcalEta;  
00095 
00096   // Preshower info
00097   MonitorElement *meCaloPreSh[2];
00098   MonitorElement *meCaloPreShE[2];
00099   MonitorElement *meCaloPreShToF[2];
00100   MonitorElement *meCaloPreShPhi;
00101   MonitorElement *meCaloPreShEta;
00102 
00103   // Hadronic info
00104   // HCal info
00105   MonitorElement *meCaloHcal[2];
00106   MonitorElement *meCaloHcalE[2];
00107   MonitorElement *meCaloHcalToF[2];
00108   MonitorElement *meCaloHcalPhi;
00109   MonitorElement *meCaloHcalEta;  
00110 
00111   // Tracker info
00112   // Pixel info
00113   //int nPxlBrlHits;
00114   //int nPxlFwdHits;
00115   //int nPxlHits;
00116   MonitorElement *meTrackerPx[2];
00117   MonitorElement *meTrackerPxPhi;
00118   MonitorElement *meTrackerPxEta;
00119   MonitorElement *meTrackerPxBToF;
00120   MonitorElement *meTrackerPxBR;
00121   MonitorElement *meTrackerPxFToF;
00122   MonitorElement *meTrackerPxFZ;
00123 
00124   // Strip info
00125   //int nSiHits;
00126   //int nSiBrlHits;
00127   //int nSiFwdHits;
00128   MonitorElement *meTrackerSi[2];
00129   MonitorElement *meTrackerSiPhi;
00130   MonitorElement *meTrackerSiEta;
00131   MonitorElement *meTrackerSiBToF;
00132   MonitorElement *meTrackerSiBR;
00133   MonitorElement *meTrackerSiFToF;
00134   MonitorElement *meTrackerSiFZ;
00135 
00136   // Muon info
00137   MonitorElement *meMuon[2];
00138   MonitorElement *meMuonPhi;
00139   MonitorElement *meMuonEta;
00140   //int nMuonHits;
00141 
00142   // DT info
00143   //int nMuonDtHits;
00144   MonitorElement *meMuonDtToF[2];
00145   MonitorElement *meMuonDtR;
00146 
00147   // CSC info
00148   //int nMuonCscHits;
00149   MonitorElement *meMuonCscToF[2];
00150   MonitorElement *meMuonCscZ;
00151 
00152   // RPC info
00153   //int nMuonRpcBrlHits;
00154   //int nMuonRpcFwdHits;
00155   MonitorElement *meMuonRpcFToF[2];
00156   MonitorElement *meMuonRpcFZ;
00157   MonitorElement *meMuonRpcBToF[2];
00158   MonitorElement *meMuonRpcBR;
00159 
00160   // private statistics information
00161   unsigned int count;
00162 
00163 }; // end class declaration
00164   
00165 #endif
00166 
00167