CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/CalibTracker/SiStripCommon/interface/ShallowGainCalibration.h

Go to the documentation of this file.
00001 #ifndef SHALLOW_GAINCALIBRATION_PRODUCER
00002 #define SHALLOW_GAINCALIBRATION_PRODUCER
00003 
00004 #include "FWCore/Framework/interface/EDProducer.h"
00005 #include "FWCore/Framework/interface/Frameworkfwd.h"
00006 
00007 #include "CalibTracker/SiStripCommon/interface/ShallowTools.h"
00008 
00009 #include "TrackingTools/PatternTools/interface/Trajectory.h"
00010 #include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h"
00011 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
00012 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h"
00013 
00014 
00015 #include "MagneticField/Engine/interface/MagneticField.h"
00016 #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
00017 #include "CondFormats/SiStripObjects/interface/SiStripLorentzAngle.h"
00018 #include "CondFormats/DataRecord/interface/SiStripLorentzAngleRcd.h"
00019 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00020 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00021 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
00022 #include "Geometry/CommonTopologies/interface/StripTopology.h"
00023 #include "FWCore/Framework/interface/ESHandle.h"
00024 #include "FWCore/Framework/interface/Event.h"
00025 
00026 
00027 #include "DataFormats/GeometrySurface/interface/TrapezoidalPlaneBounds.h"
00028 #include "DataFormats/GeometrySurface/interface/RectangularPlaneBounds.h"
00029 
00030 #include "Geometry/CommonDetUnit/interface/GeomDetUnit.h"
00031 #include "Geometry/CommonDetUnit/interface/GeomDetType.h"
00032 #include "Geometry/CommonTopologies/interface/StripTopology.h"
00033 
00034 #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h"
00035 #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h"
00036 #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h"
00037 #include "Geometry/TrackerGeometryBuilder/interface/PixelGeomDetUnit.h"
00038 #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h"
00039 #include "Geometry/CommonDetUnit/interface/TrackingGeometry.h"
00040 
00041 
00042 
00043 #include "DataFormats/FEDRawData/interface/FEDNumbering.h"
00044 #include "DataFormats/TrackReco/interface/Track.h"
00045 #include "DataFormats/TrackReco/interface/TrackFwd.h"
00046 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h"
00047 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit2D.h"
00048 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h"
00049 #include "DataFormats/SiStripDetId/interface/SiStripSubStructure.h"
00050 #include "DataFormats/DetId/interface/DetId.h"
00051 #include "DataFormats/SiStripDetId/interface/StripSubdetector.h"
00052 #include "DataFormats/SiStripDetId/interface/TECDetId.h"
00053 #include "DataFormats/SiStripDetId/interface/TIBDetId.h"
00054 #include "DataFormats/SiStripDetId/interface/TIDDetId.h"
00055 #include "DataFormats/SiStripDetId/interface/TOBDetId.h"
00056 #include "DataFormats/TrackReco/interface/DeDxHit.h"
00057 #include "DataFormats/TrackReco/interface/TrackDeDxHits.h"
00058 
00059 
00060 #include <ext/hash_map>
00061 
00062 
00063 class ShallowGainCalibration : public edm::EDProducer {
00064 public:
00065   explicit ShallowGainCalibration(const edm::ParameterSet&);
00066 private:
00067   edm::InputTag theTracksLabel;
00068   std::string Suffix;
00069   std::string Prefix;
00070 
00071   void   produce( edm::Event &, const edm::EventSetup & );
00072 //  virtual void beginJob(EventSetup const&);
00073 //  virtual void beginRun(Run&, EventSetup const&);
00074   bool   IsFarFromBorder(TrajectoryStateOnSurface* trajState, const uint32_t detid, const edm::EventSetup* iSetup);
00075   double thickness    (DetId id);
00076 
00077   const TrackerGeometry* m_tracker;
00078   std::map<DetId,double> m_thicknessMap;
00079 
00080 /*
00081   struct stAPVGain{int DetId; int APVId; double PreviousGain;};
00082   class isEqual{
00083       public:
00084               template <class T> bool operator () (const T& PseudoDetId1, const T& PseudoDetId2) { return PseudoDetId1==PseudoDetId2; }
00085   };
00086   std::vector<stAPVGain*> APVsCollOrdered;
00087   hash_map<unsigned int, stAPVGain*,  hash<unsigned int>, isEqual > APVsColl;
00088 */
00089 };
00090 #endif
00091 
00092 
00093