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