CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/Calibration/HcalCalibAlgos/src/GammaJetAnalysis.h

Go to the documentation of this file.
00001 #ifndef GammaJetAnalysis_h
00002 #define GammaJetAnalysis_h
00003 // system include files
00004 #include <memory>
00005 #include <string>
00006 #include <iostream>
00007 #include <map>
00008 
00009 // user include files
00010 // #include "FWCore/Framework/interface/Frameworkfwd.h"
00011 #include "FWCore/Framework/interface/EDAnalyzer.h"
00012 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00013 /* #include "FWCore/Framework/interface/Event.h" */
00014 /* #include "FWCore/Framework/interface/MakerMacros.h" */
00015 /* #include "FWCore/Framework/interface/ESHandle.h" */
00016 /* #include "FWCore/Framework/interface/EventSetup.h" */
00017 /* #include "FWCore/ParameterSet/interface/ParameterSet.h" */
00018 
00019 /* #include "DataFormats/Common/interface/Ref.h" */
00020 /* #include "DataFormats/DetId/interface/DetId.h" */
00021 
00022 /* #include "Geometry/Records/interface/IdealGeometryRecord.h" */
00023 /* #include "Geometry/CaloGeometry/interface/CaloGeometry.h" */
00024 /* #include "Geometry/Vector/interface/GlobalPoint.h" */
00025 /* #include "DataFormats/CaloTowers/interface/CaloTowerCollection.h" */
00026 /* #include "DataFormats/CaloTowers/interface/CaloTowerDetId.h" */
00027 /* #include "DataFormats/HcalRecHit/interface/HcalRecHitCollections.h" */
00028 /* #include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h" */
00029 /* #include "DataFormats/JetReco/interface/CaloJetCollection.h" */
00030 /* #include "DataFormats/JetReco/interface/CaloJet.h" */
00031 
00032 #include <fstream>
00033 
00034 
00035 namespace edm {
00036   class ParameterSet;
00037   class Event;
00038   class EventSetup;
00039 }
00040 
00041 class TFile;
00042 class TTree;
00043 class CaloGeometry;
00044 
00045 //
00046 // class decleration
00047 //
00048 namespace cms
00049 {
00050 class GammaJetAnalysis : public edm::EDAnalyzer {
00051    public:
00052       explicit GammaJetAnalysis(const edm::ParameterSet&);
00053       ~GammaJetAnalysis();
00054 
00055       virtual void analyze(const edm::Event&, const edm::EventSetup&);
00056       virtual void beginJob() ;
00057       virtual void endJob() ;
00058 
00059    private:
00060   // ----------member data ---------------------------
00061   // names of modules, producing object collections
00062      
00063   std::string nameProd_;
00064   std::string jetCalo_;
00065   std::string gammaClus_;
00066   std::string ecalInput_;
00067   std::string hbheInput_;
00068   std::string hoInput_;
00069   std::string hfInput_;
00070   std::string Tracks_;
00071   std::string myName; 
00072       double CutOnEgammaEnergy_;
00073      
00074   // stuff for histogramms
00075   //  output file name with histograms
00076      std::string fOutputFileName ;
00077      bool allowMissingInputs_;
00078      bool useMC;
00079   //
00080      TFile*      hOutputFile ;
00081      TTree * myTree;
00082      std::ofstream *myout_part;   
00083      std::ofstream *myout_hcal;
00084      std::ofstream *myout_ecal;     
00085      std::ofstream *myout_jet;   
00086      std::ofstream *myout_photon;
00087   //  
00088       int NumRecoJets,NumGenJets,NumRecoGamma,NumRecoTrack,NumRecoHcal,NumPart;
00089       int run,event;
00090       float JetRecoEt[10],JetRecoEta[10],JetRecoPhi[10],JetRecoType[10];
00091       float JetGenEt[10],JetGenEta[10],JetGenPhi[10],JetGenType[10];
00092       float TrackRecoEt[10],TrackRecoEta[10],TrackRecoPhi[10];
00093       int EcalClusDet[20];
00094       float GammaRecoEt[20],GammaRecoEta[20],GammaRecoPhi[20],GammaIsoEcal[9][20],GammaIsoHcal[9][20];
00095       float HcalDet[8000],HcalRecoEt[8000],HcalRecoEta[8000],HcalRecoPhi[8000];
00096       int Status[4000],Code[4000],Mother1[4000];
00097       float partpx[4000],partpy[4000],partpz[4000],parte[4000],partm[4000],partvx[4000];
00098       float partvy[4000],partvz[4000],partvt[4000];
00099       float risol[3];
00100       float ecut[3][3];
00101       
00102 // Calo geometry
00103   const CaloGeometry* geo;
00104 
00105 };
00106 }
00107 #endif