CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_8_patch3/src/SUSYBSMAnalysis/HSCP/interface/HSCPValidator.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //
00003 // Package:    HSCP
00004 // Class:      HSCPValidator
00005 // 
00013 //
00014 // Original Author:  Seth Cooper,27 1-024,+41227672342,
00015 //         Created:  Wed Apr 14 14:27:52 CEST 2010
00016 // $Id: HSCPValidator.h,v 1.6 2011/10/11 21:14:48 jiechen Exp $
00017 //
00018 //
00019 #include "FWCore/Framework/interface/Frameworkfwd.h"
00020 #include "FWCore/Framework/interface/EDAnalyzer.h"
00021 #include "FWCore/Framework/interface/Event.h"
00022 #include "FWCore/Framework/interface/MakerMacros.h"
00023 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00024 #include "FWCore/Framework/interface/ESHandle.h"
00025 
00026 #include "Geometry/RPCGeometry/interface/RPCGeometry.h"
00027 #include "SimDataFormats/GeneratorProducts/interface/HepMCProduct.h"
00028 #include "FWCore/Common/interface/TriggerResultsByName.h"
00029 #include "DataFormats/HLTReco/interface/TriggerEvent.h"
00030 #include "DataFormats/Common/interface/TriggerResults.h"
00031 #include "DataFormats/HLTReco/interface/TriggerObject.h"
00032 
00033 
00034 //
00035 
00036 #include "TH2F.h"
00037 //
00038 // class declaration
00039 //
00040 
00041 class HSCPValidator : public edm::EDAnalyzer {
00042    public:
00043       explicit HSCPValidator(const edm::ParameterSet&);
00044       ~HSCPValidator();
00045 
00046 
00047    private:
00048       virtual void beginJob() ;
00049       virtual void analyze(const edm::Event&, const edm::EventSetup&);
00050       virtual void endJob() ;
00051       std::string intToString(int num);
00052       void makeGenPlots(const edm::Event& iEvent);
00053       void makeSimTrackPlots(const edm::Event& iEvent);
00054       void makeSimDigiPlotsECAL(const edm::Event& iEvent);
00055       void makeSimDigiPlotsRPC(const edm::Event& iEvent);
00056       void makeHLTPlots(const edm::Event& iEvent);
00057       void makeRecoPlots(const edm::Event& iEvent);
00058       bool IncreasedTreshold(const trigger::TriggerEvent& trEv, const edm::InputTag& InputPath, double NewThreshold, double etaCut,int NObjectAboveThreshold, bool averageThreshold);
00059       // ----------member data ---------------------------
00060       bool doGenPlots_;
00061       bool doHLTPlots_;
00062       bool doSimTrackPlots_;
00063       bool doSimDigiPlots_;
00064       bool doRecoPlots_;
00065 
00066       // GEN section
00067       edm::InputTag label_;
00068       std::vector<int> particleIds_;
00069       int particleStatus_;
00070       std::map<int,int> particleIdsFoundMap_;
00071       TH1F* particleEtaHist_;
00072       TH1F* particlePhiHist_;
00073       TH1F* particlePHist_;
00074       TH1F* particlePtHist_;
00075       TH1F* particleMassHist_;
00076       TH1F* particleStatusHist_;
00077       TH1F* particleBetaHist_;
00078       TH1F* particleBetaInverseHist_;
00079       TH1F * h_genhscp_met;
00080       TH1F * h_genhscp_met_nohscp;
00081       TH1F * h_genhscp_scaloret;
00082       TH1F * h_genhscp_scaloret_nohscp;
00083 
00084 
00085       //SIM-Track section
00086       TH1F*simTrackParticleEtaHist_ ;
00087       TH1F* simTrackParticlePhiHist_;
00088       TH1F* simTrackParticlePHist_;
00089       TH1F*simTrackParticlePtHist_;
00090       TH1F* simTrackParticleBetaHist_;
00091 
00092       // SIM-DIGI section
00093       edm::InputTag ebSimHitTag_;
00094       edm::InputTag eeSimHitTag_;
00095       edm::InputTag simTrackTag_;
00096       edm::InputTag EBDigiCollection_;
00097       edm::InputTag EEDigiCollection_;
00098       edm::InputTag RPCRecHitTag_;
00099       edm::ESHandle <RPCGeometry> rpcGeo;
00100       // ECAL      
00101       TH1F* simHitsEcalEnergyHistEB_;
00102       TH1F* simHitsEcalTimeHistEB_;
00103       TH1F* simHitsEcalNumHistEB_;
00104       TH2F* simHitsEcalEnergyVsTimeHistEB_;
00105       TH1F* simHitsEcalEnergyHistEE_;
00106       TH1F* simHitsEcalTimeHistEE_;
00107       TH1F* simHitsEcalNumHistEE_;
00108       TH2F* simHitsEcalEnergyVsTimeHistEE_;
00109       TH1F* simHitsEcalDigiMatchEnergyHistEB_;
00110       TH1F* simHitsEcalDigiMatchTimeHistEB_;
00111       TH2F* simHitsEcalDigiMatchEnergyVsTimeHistEB_;
00112       TH1F* simHitsEcalDigiMatchEnergyHistEE_;
00113       TH1F* simHitsEcalDigiMatchTimeHistEE_;
00114       TH2F* simHitsEcalDigiMatchEnergyVsTimeHistEE_;
00115       TH1F* simHitsEcalDigiMatchIEtaHist_;
00116       TH1F* simHitsEcalDigiMatchIPhiHist_;
00117       TH1F* digisEcalNumHistEB_;
00118       TH1F* digisEcalNumHistEE_;
00119       TH2F* digiOccupancyMapEB_;
00120       TH2F* digiOccupancyMapEEP_;
00121       TH2F* digiOccupancyMapEEM_;
00122       // RPC
00123       TH1F* residualsRPCRecHitSimDigis_;
00124       TH1F* efficiencyRPCRecHitSimDigis_;
00125       TH1F* cluSizeDistribution_; 
00126       TH1F* rpcTimeOfFlightBarrel_[6];       
00127       TH1F* rpcBXBarrel_[6];       
00128       TH1F* rpcTimeOfFlightEndCap_[3];       
00129       TH1F* rpcBXEndCap_[3];      
00130       //HLT
00131       TH1F* hltmet;
00132       TH1F* hltjet;
00133       TH1F* hltmu;
00134       //RECO
00135       TH2F* RecoHSCPPtVsGenPt;
00136       TH2F* dedxVsp;
00137 
00138 };