CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_2_9_HLT1_bphpatch4/src/Calibration/EcalCalibAlgos/interface/InvRingCalib.h

Go to the documentation of this file.
00001 
00010 #ifndef __CINT__
00011 #ifndef InvRingCalib_H
00012 #define InvRingCalib_H
00013 #include "Calibration/EcalCalibAlgos/interface/VEcalCalibBlock.h"
00014 #include "FWCore/Framework/interface/EDLooper.h"
00015 #include "FWCore/Framework/interface/Event.h"
00016 #include "DataFormats/GeometryVector/interface/GlobalPoint.h"
00017 #include "DataFormats/DetId/interface/DetId.h"
00018 #include "FWCore/Framework/interface/EventSetup.h"
00019 #include "CondFormats/EcalObjects/interface/EcalIntercalibConstants.h"
00020 
00021 #include <string>
00022 #include <vector>
00023 //#include "DataFormats/EcalRecHit/interface/EcalRecHitCollections.h"
00024 #include "DataFormats/CaloRecHit/interface/CaloRecHit.h"
00025 
00026 #include "Calibration/EcalCalibAlgos/interface/VFillMap.h"
00027 
00028 
00029 class InvRingCalib : public edm::EDLooper {
00030   public:
00031 
00033     explicit InvRingCalib(const edm::ParameterSet&);
00035     ~InvRingCalib();
00036     void beginOfJob() ;
00037     void endOfJob();
00038     void startingNewLoop(unsigned int) ;
00039     Status duringLoop(const edm::Event&, const edm::EventSetup&) ;
00040     Status endOfLoop(const edm::EventSetup&,unsigned int iCounter) ;
00041     
00042  //end
00043 
00044   private:
00045 
00047   inline int EERegionNum () const ;
00049   int EBRegionNum () const ;
00051   void EBRegionDef () ;
00053   void EERingDef (const edm::EventSetup&);
00055   void EERegionDef ();
00057   void RegPrepare ();
00059   int EBRegId(const int) ;
00061   int EERegId ( int) ;
00062 
00064     VFillMap * m_MapFiller;
00065 
00066   private:
00068     edm::InputTag m_barrelAlCa ;
00070     edm::InputTag m_endcapAlCa ;
00072     edm::InputTag m_ElectronLabel ;
00074     int m_recoWindowSidex ;
00075     int m_recoWindowSidey ;
00077     double m_minEnergyPerCrystal ;
00079     double m_maxEnergyPerCrystal ;
00081     int m_etaStart ;   
00083     int m_etaEnd ;
00085     int m_etaWidth ;
00086 //    std::map<int,float> m_eta;
00088     int m_maxSelectedNumPerRing ; 
00090     std::map<int,int> m_RingNumOfHits;
00092     std::vector<VEcalCalibBlock *> m_IMACalibBlocks ;
00094     double m_minCoeff ;
00096     double m_maxCoeff ;
00098     int m_usingBlockSolver ;
00100     std::map<int,GlobalPoint> m_cellPos;
00101     std::map<int,int> m_cellPhi;
00104     EcalIntercalibConstantMap m_barrelMap;
00105     EcalIntercalibConstantMap m_endcapMap;
00107     unsigned int m_loops ;
00109     int m_startRing;
00110     int m_endRing;
00112     std::map<int,int> m_xtalRing;
00114     std::map<int,int> m_xtalRegionId;
00116     std::map<int,int> m_RinginRegion;
00117     
00119     std::vector<DetId> m_barrelCells;
00120     std::vector<DetId> m_endcapCells;
00122     std::string m_EBcoeffFile;
00123     std::string m_EEcoeffFile;
00125     int m_EEZone;
00127     std::map<int,int> m_Reg;
00128     std::string m_mapFillerType;
00129     bool isfirstcall_;
00130 };
00131 #endif
00132 #endif