CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
EnergyLossPlain.h
Go to the documentation of this file.
1 #ifndef _EnergyLossPlain_h_
2 #define _EnergyLossPlain_h_
3 
8 
9 class SiPixelRecHit;
10 class SiStripRecHit2D;
11 
13 {
14  public:
15  EnergyLossPlain(const TrackerGeometry* theTracker_,
17  double pixelToStripExponent);
19  void loadOptimalWeights();
20  int estimate(const Trajectory* trajectory,
21  std::vector<std::pair<int,double> >& arithmeticMean,
22  std::vector<std::pair<int,double> >& truncatedMean);
23 
24  private:
25  double average (std::vector<std::pair<double,double> >& values);
26  double truncate (std::vector<std::pair<double,double> >& values);
27  double optimal (std::vector<std::pair<double,double> >& values);
28  double logTruncate(std::vector<std::pair<double,double> >& values);
29 
30  double expected(double Delta1, double Delta2);
31 
32  void process(LocalVector ldir,const SiPixelRecHit* recHit,
33  std::vector<std::pair<double,double> >& values);
34  void process(LocalVector ldir,const SiStripRecHit2D* recHit,
35  std::vector<std::pair<double,double> >& values);
36 
39 
40  static bool isFirst;
41  static float optimalWeight[61][61];
42 };
43 
44 #endif
double pixelToStripExponent
double truncate(std::vector< std::pair< double, double > > &values)
double pixelToStripMultiplier
double optimal(std::vector< std::pair< double, double > > &values)
void process(LocalVector ldir, const SiPixelRecHit *recHit, std::vector< std::pair< double, double > > &values)
int estimate(const Trajectory *trajectory, std::vector< std::pair< int, double > > &arithmeticMean, std::vector< std::pair< int, double > > &truncatedMean)
EnergyLossPlain(const TrackerGeometry *theTracker_, double pixelToStripMultiplier, double pixelToStripExponent)
const TrackerGeometry * theTracker
static bool isFirst
double average(std::vector< std::pair< double, double > > &values)
double expected(double Delta1, double Delta2)
static float optimalWeight[61][61]
double logTruncate(std::vector< std::pair< double, double > > &values)
Our base class.
Definition: SiPixelRecHit.h:27