![]() |
![]() |
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.3 2012/09/28 16:27:32 wdd 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 #include "FWCore/Utilities/interface/InputTag.h" 00057 00058 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidate.h" 00059 #include "DataFormats/HcalIsolatedTrack/interface/IsolatedPixelTrackCandidateFwd.h" 00060 00061 00062 // Sergey + 00063 00064 #include "SimDataFormats/Track/interface/SimTrack.h" 00065 #include "SimDataFormats/Track/interface/SimTrackContainer.h" 00066 00067 // Sergey - 00068 00069 00070 #include <fstream> 00071 00072 #include "TH1F.h" 00073 00074 class ValidationHcalIsoTrackAlCaReco : public edm::EDAnalyzer { 00075 public: 00076 explicit ValidationHcalIsoTrackAlCaReco(const edm::ParameterSet&); 00077 ~ValidationHcalIsoTrackAlCaReco(); 00078 00079 00080 private: 00081 00082 DQMStore* dbe_; 00083 00084 virtual void beginJob() ; 00085 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00086 virtual void endJob() ; 00087 00088 std::string folderName_; 00089 bool saveToFile_; 00090 std::string outRootFileName_; 00091 edm::InputTag hltEventTag_; 00092 edm::InputTag hltFilterTag_; 00093 edm::InputTag arITrLabel_; 00094 edm::InputTag recoTrLabel_; 00095 edm::InputTag simTracksTag_; 00096 double pThr_; 00097 double heLow_; 00098 double heUp_; 00099 00100 MonitorElement* hl3Pt; 00101 MonitorElement* hl3eta; 00102 MonitorElement* hl3AbsEta; 00103 MonitorElement* hl3phi; 00104 MonitorElement* hOffL3TrackMatch; 00105 MonitorElement* hOffL3TrackPtRat; 00106 00107 MonitorElement* hOffP_0005; 00108 MonitorElement* hOffP_0510; 00109 MonitorElement* hOffP_1015; 00110 MonitorElement* hOffP_1520; 00111 00112 MonitorElement* hOffP; 00113 00114 MonitorElement* hTracksSumP; 00115 MonitorElement* hTracksMaxP; 00116 00117 MonitorElement* hDeposEcalInner; 00118 MonitorElement* hDeposEcalOuter; 00119 00120 MonitorElement* hOffEtaFP; 00121 MonitorElement* hOffAbsEta; 00122 MonitorElement* hOffPhiFP; 00123 00124 MonitorElement* hOffEta; 00125 MonitorElement* hOffPhi; 00126 00127 MonitorElement* hOccupancyFull; 00128 MonitorElement* hOccupancyHighEn; 00129 00130 MonitorElement* hPurityEta; 00131 MonitorElement* hPurityPhi; 00132 00133 // Sergey + 00134 00135 MonitorElement* hSimPt; 00136 MonitorElement* hSimPhi; 00137 MonitorElement* hSimEta; 00138 MonitorElement* hSimAbsEta; 00139 MonitorElement* hSimDist; 00140 MonitorElement* hSimPtRatOff; 00141 MonitorElement* hSimP; 00142 MonitorElement* hSimN; 00143 MonitorElement* hSimNN; 00144 MonitorElement* hSimNE; 00145 MonitorElement* hSimNM; 00146 00147 // Sergey - 00148 00149 int nTotal; 00150 int nHLTL3accepts; 00151 00152 double getDist(double, double, double, double); 00153 00154 // Sergey + 00155 00156 double getDistInCM(double eta1, double phi1, double eta2, double phi2); 00157 00158 // Sergey - 00159 00160 std::pair<int, int> towerIndex(double eta, double phi); 00161 00162 };