CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/RecoTracker/DeDx/interface/DeDxTools.h

Go to the documentation of this file.
00001 #ifndef DeDxTools_H
00002 #define DeDxTools_H
00003 #include <vector>
00004 #include "DataFormats/TrackReco/interface/DeDxHit.h"
00005 #include "DataFormats/TrackReco/interface/TrackDeDxHits.h"
00006 #include "DataFormats/GeometryCommonDetAlgo/interface/Measurement1D.h"
00007 #include "DataFormats/DetId/interface/DetId.h"
00008 #include "TrackingTools/PatternTools/interface/Trajectory.h"
00009 #include "TrackingTools/PatternTools/interface/Trajectory.h"
00010 #include "DataFormats/TrackingRecHit/interface/TrackingRecHit.h"
00011 #include "DataFormats/TrackerRecHit2D/interface/SiStripMatchedRecHit2D.h"
00012 #include "DataFormats/TrackerRecHit2D/interface/ProjectedSiStripRecHit2D.h"
00013 #include "DataFormats/TrackerRecHit2D/interface/SiStripRecHit1D.h"
00014 #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHit.h"
00015 #include "DataFormats/TrackReco/interface/DeDxHit.h"
00016 
00017 namespace DeDxTools  {
00018  
00019   struct RawHits {
00020     double charge;
00021     double angleCosine;
00022     DetId detId;
00023     const TrajectoryMeasurement* trajectoryMeasurement;
00024     int   NSaturating;
00025   };
00026 
00027   inline const SiStripCluster* GetCluster(const TrackerSingleRecHit * hit) { return &hit->stripCluster();}
00028   inline const SiStripCluster* GetCluster(const TrackerSingleRecHit & hit) {return &hit.stripCluster();}
00029   void   trajectoryRawHits(const edm::Ref<std::vector<Trajectory> >& trajectory, std::vector<RawHits>& hits, bool usePixel, bool useStrip);
00030   double genericAverage   (const reco::DeDxHitCollection &, float expo = 1.);
00031   bool shapeSelection(const std::vector<uint8_t> & ampls);
00032 }
00033 
00034 #endif