StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
PIDFitter.h
1 //
3 // $Id: PIDFitter.h,v 1.2 2003/04/30 20:37:56 perev Exp $
4 //
5 // Authors: Aihong Tang
6 //
8 //
9 // Description: fit histo. produced by StPidAmpMaker.
10 //
12 
13 
14 #ifndef PIDFitter_h
15 #define PIDFitter_h
16 
17 #include <TROOT.h>
18 #include "TH1.h"
19 #include "StPidProbabilityConst.hh"
20 
21 class TF1;
22 
23 class PIDFitter {
24  public:
25 
26  PIDFitter();
27  virtual ~PIDFitter(){};
28 
29  void FitMultiGaus(Char_t* fileNameOfInput, Char_t* fileNameOfOutput);
30  void DoPhaseSpaceCalibration(Char_t* fileName4Calibration,Char_t* phaseSpaceCalibFileName);
31  void GetSigmaOfSingleTrail(Char_t* fileName4Calibration,Char_t* sigmaFileName);
32  void ExtrapAmp(Char_t* fileNameOfInput, Char_t* fileNameOfOutput);
33 
34  void Process( Char_t* sigmaOfSigmTrialInputName,
35  Char_t* sigmaOfSigmTrialOutputName,
36  Char_t* phaseSpaceCalibInputName,
37  Char_t* phaseSpaceCalibOutputName,
38  Char_t* gausFitInputName,
39  Char_t* gausFitOutputName,
40  Char_t* ampFitOutputName );
41 
42  virtual void Init();
43 
44 
45  protected:
46 
47  Bool_t mWriteSigmaNSampleGraph;
48  Bool_t mWriteGaus4SigmaNSampleHist;
49 
50  double * mSigmaOfSingleTrail;
51 
52  TF1* electronBandCenter;
53  TF1* pionBandCenter;
54  TF1* kaonBandCenter;
55  TF1* antiprotonBandCenter;
56 
57  TF1* pionKaonBandCenter;
59 
60  double **BBOffSetPar;
61  double **BBScalePar;
62 
63  private:
64 
65  double mEGausHeight;
66  double mPiGausHeight;
67  double mKGausHeight;
68  double mPGausHeight;
69 
70  double mEGausCenter;
71  double mPiGausCenter;
72  double mKGausCenter;
73  double mPGausCenter;
74 
75  double mESigma;
76  double mPiSigma;
77  double mKSigma;
78  double mPSigma;
79 
80 
81  double delta(double calib, double pionPosition, double protonPosition);
82  double look4MinDeltaDiff(double calibStart, double calibEnd, int calibSteps, double pionPosition, double protonPosition, double DeltaRef);
83  double minimumIonizingdEdx(double calib, double pionPosition);
84 
85  float FitResoGaus(TH1F* resoHist,float fitRange,float& er,float theStart, float theEnd, int ParIndex, int j, int k, float thePPosition);
86  void PresetHeightAndSigma(double center, double& height, double& sigma, TH1F* resoHist, double tempSigmaOfSingleTrial, int k);
87  void RefreshPresettings(TH1F* resoHist, double tempSigmaOfSingleTrial, int k, float thePPosition);
88 
89  ClassDef (PIDFitter,1)
90  };
91 
92 
93 #endif
94 
96 //
97 // $Log: PIDFitter.h,v $
98 // Revision 1.2 2003/04/30 20:37:56 perev
99 // Warnings cleanup. Modified lines marked VP
100 //
101 // Revision 1.1 2002/02/14 21:25:55 aihong
102 // re-install the new version
103 //
104 
105 //
TF1 * kaonAntiprotonBandCenter
//for drawing line between pion and kaon bands
Definition: PIDFitter.h:58
double ** BBOffSetPar
//for drawing line between kaon and antiproton bands
Definition: PIDFitter.h:60