CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/Calibration/HcalCalibAlgos/plugins/ValidationHcalIsoTrackAlCaReco.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    Calibration/HcalCalibAlgos/plugins
00004 // Class:      ValidationHcalIsoTrackAlCaReco
00005 // 
00013 //
00014 // Original Author:  Grigory SAFRONOV, Sergey PETRUSHANKO
00015 //         Created:  Tue Oct  14 16:10:31 CEST 2008
00016 // $Id: ValidationHcalIsoTrackAlCaReco.h,v 1.2 2010/01/11 16:40:13 kodolova Exp $
00017 //
00018 //
00019 
00020 
00021 // system include files
00022 #include <memory>
00023 
00024 // user include files
00025 
00026 #include "FWCore/Framework/interface/ESHandle.h"
00027 
00028 #include "FWCore/Framework/interface/Frameworkfwd.h"
00029 #include "FWCore/Framework/interface/EDAnalyzer.h"
00030 
00031 #include "FWCore/Framework/interface/Event.h"
00032 #include "FWCore/Framework/interface/MakerMacros.h"
00033 
00034 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00035 
00036 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00037 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00038 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00039 
00040 #include "CondFormats/L1TObjects/interface/L1GtTriggerMenu.h"
00041 #include "CondFormats/DataRecord/interface/L1GtTriggerMenuRcd.h"
00042 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetupFwd.h"
00043 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutSetup.h"
00044 #include "DataFormats/L1GlobalTrigger/interface/L1GlobalTriggerReadoutRecord.h"
00045 
00046 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00047 #include "DataFormats/TrackReco/interface/Track.h"
00048 
00049 #include "CondFormats/L1TObjects/interface/L1GtPrescaleFactors.h"
00050 #include "CondFormats/DataRecord/interface/L1GtPrescaleFactorsAlgoTrigRcd.h"
00051 #include "CondFormats/DataRecord/interface/L1GtPrescaleFactorsTechTrigRcd.h"
00052 
00053 #include "DQMServices/Core/interface/DQMStore.h"
00054 #include "DQMServices/Core/interface/MonitorElement.h"
00055 #include "FWCore/ServiceRegistry/interface/Service.h"
00056 
00057 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidate.h"
00058 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidateFwd.h"
00059 
00060 
00061 // Sergey +
00062 
00063 #include "SimDataFormats/Track/interface/SimTrack.h"
00064 #include "SimDataFormats/Track/interface/SimTrackContainer.h"
00065 
00066 // Sergey -
00067 
00068 
00069 #include <fstream>
00070 
00071 #include "TH1F.h"
00072 
00073 class ValidationHcalIsoTrackAlCaReco : public edm::EDAnalyzer {
00074 public:
00075   explicit ValidationHcalIsoTrackAlCaReco(const edm::ParameterSet&);
00076   ~ValidationHcalIsoTrackAlCaReco();
00077   
00078   
00079 private:
00080 
00081   DQMStore* dbe_;  
00082 
00083   virtual void beginJob() ;
00084   virtual void analyze(const edm::Event&, const edm::EventSetup&);
00085   virtual void endJob() ;
00086 
00087   std::string folderName_;
00088   bool saveToFile_;
00089   std::string outRootFileName_;
00090   edm::InputTag hltEventTag_;
00091   edm::InputTag hltFilterTag_;
00092   edm::InputTag arITrLabel_;
00093   edm::InputTag recoTrLabel_;
00094   double pThr_;
00095   double heLow_;
00096   double heUp_;
00097   
00098   MonitorElement* hl3Pt;
00099   MonitorElement* hl3eta;
00100   MonitorElement* hl3AbsEta;
00101   MonitorElement* hl3phi;
00102   MonitorElement* hOffL3TrackMatch;
00103   MonitorElement* hOffL3TrackPtRat;
00104 
00105   MonitorElement* hOffP_0005;
00106   MonitorElement* hOffP_0510;
00107   MonitorElement* hOffP_1015;
00108   MonitorElement* hOffP_1520;
00109 
00110   MonitorElement* hOffP;
00111 
00112   MonitorElement* hTracksSumP;
00113   MonitorElement* hTracksMaxP;
00114 
00115   MonitorElement* hDeposEcalInner;
00116   MonitorElement* hDeposEcalOuter;
00117 
00118   MonitorElement* hOffEtaFP;
00119   MonitorElement* hOffAbsEta;
00120   MonitorElement* hOffPhiFP;
00121 
00122   MonitorElement* hOffEta;
00123   MonitorElement* hOffPhi;
00124   
00125   MonitorElement* hOccupancyFull;
00126   MonitorElement* hOccupancyHighEn;
00127 
00128   MonitorElement* hPurityEta;
00129   MonitorElement* hPurityPhi;
00130 
00131 // Sergey +
00132 
00133   MonitorElement* hSimPt;
00134   MonitorElement* hSimPhi;
00135   MonitorElement* hSimEta;
00136   MonitorElement* hSimAbsEta;
00137   MonitorElement* hSimDist;
00138   MonitorElement* hSimPtRatOff;
00139   MonitorElement* hSimP;
00140   MonitorElement* hSimN;
00141   MonitorElement* hSimNN;
00142   MonitorElement* hSimNE;
00143   MonitorElement* hSimNM;
00144 
00145 // Sergey -
00146 
00147   int nTotal;
00148   int nHLTL3accepts;
00149   
00150   double getDist(double, double, double, double);
00151 
00152 // Sergey +
00153 
00154   double getDistInCM(double eta1, double phi1, double eta2, double phi2);
00155 
00156 // Sergey -
00157 
00158   std::pair<int, int> towerIndex(double eta, double phi);
00159 
00160 };