CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Calibration/HcalIsolatedTrackReco/interface/HITSiStripRawToClustersRoI.h

Go to the documentation of this file.
00001 #ifndef Calibration_HcalIsolatedTrackReco_HITSiStripRawToClustersRoI_H
00002 #define Calibration_HcalIsolatedTrackReco_HITSiStripRawToClustersRoI_H
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "FWCore/Framework/interface/Event.h"
00006 #include "FWCore/Framework/interface/EventSetup.h"
00007 #include "FWCore/Framework/interface/ESHandle.h"
00008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00009 #include "FWCore/MessageLogger/interface/MessageLogger.h"
00010 #include "DataFormats/Common/interface/Handle.h"
00011 #include "DataFormats/Common/interface/RefGetter.h"
00012 #include "DataFormats/SiStripCluster/interface/SiStripCluster.h"
00013 #include "DataFormats/EgammaReco/interface/SuperCluster.h"
00014 #include "DataFormats/EgammaReco/interface/SuperClusterFwd.h"
00015 #include "DataFormats/TrackReco/interface/Track.h"
00016 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00017 #include "DataFormats/JetReco/interface/CaloJetCollection.h"
00018 #include "DataFormats/JetReco/interface/CaloJet.h"
00019 #include "CalibFormats/SiStripObjects/interface/SiStripRegionCabling.h"
00020 #include "DataFormats/L1Trigger/interface/L1JetParticle.h"
00021 #include "DataFormats/L1Trigger/interface/L1JetParticleFwd.h"
00022 #include "DataFormats/TrajectorySeed/interface/TrajectorySeedCollection.h"
00023 #include "DataFormats/TrajectorySeed/interface/TrajectorySeed.h"
00024 #include "DataFormats/TrackReco/interface/Track.h"
00025 #include "DataFormats/HLTReco/interface/TriggerFilterObjectWithRefs.h"
00026 #include <string>
00027 #include <memory>
00028 #include "boost/bind.hpp"
00029 
00036 class HITSiStripRawToClustersRoI : public edm::EDProducer {
00037   
00038  public:
00039 
00040   typedef edm::LazyGetter<SiStripCluster> LazyGetter;
00041   typedef edm::RefGetter<SiStripCluster> RefGetter;
00042   typedef SiStripRegionCabling::Position Position;
00043   typedef SiStripRegionCabling::SubDet SubDet;
00044 
00045   HITSiStripRawToClustersRoI( const edm::ParameterSet& );
00046   ~HITSiStripRawToClustersRoI();
00047   
00048   virtual void beginJob( );
00049   virtual void endJob();
00050   virtual void produce( edm::Event&, const edm::EventSetup& );
00051   
00052  private: 
00053 
00055   bool physicalLayer(SubDet&, uint32_t&) const;
00056 
00058   void random(RefGetter&, edm::Handle<LazyGetter>&) const;
00059   
00061   void taujets(const l1extra::L1JetParticleCollection&, RefGetter&, edm::Handle<LazyGetter>&) const;
00062 
00064   void ptracks(const trigger::TriggerFilterObjectWithRefs&, RefGetter&, edm::Handle<LazyGetter>&) const;
00065   
00067   edm::ESHandle<SiStripRegionCabling> cabling_;
00068 
00070   std::vector<uint32_t> allregions_;
00071 
00073   int nlayers_;
00074 
00076   bool global_;
00077   bool random_;
00078   bool taujets_;
00079   bool ptrack_;
00080 
00082   edm::InputTag siStripLazyGetter_;
00083   edm::InputTag taujetL1_;
00084   edm::InputTag ptrackLabel_;
00085   
00086 
00088   double taujetdeta_;
00089   double taujetdphi_;
00090   double ptrackEta_;
00091   double ptrackPhi_;
00092 };
00093 
00094 #endif 
00095