FairRoot/PandaRoot
PndTrkLegendreTransform.h
Go to the documentation of this file.
1 #ifndef PNDTRKLEGENDRETRANSFORM_H
2 #define PNDTRKLEGENDRETRANSFORM_H
3 
4 #include "TMath.h"
5 #include "TH2F.h"
6 
7 class PndTrkLegendreTransform : public TObject {
8 
9  public:
10 
13 
14  void SetUpLegendreHisto();
15  void SetUpLegendreHisto(double thetaNofBin, double thetaMin, double thetaMax, double rNofBin, double rMin, double rMax);
16  void SetUpZoomHisto(double theta, double r, double deltatheta, double deltar);
17  void SetUpZoomHisto();
18 
19  void ResetLegendreHisto();
20  void ResetZoomHisto();
21 
22  void FillHisto(TH2F *histo, double thetamin, double thetamax, double x, double y, double radius);
23  void FillLegendreHisto(double x, double y, double radius);
24  void FillZoomHisto(double x, double y, double radius);
25 
26 /* void SetDeltaThetaSteppingRad(double deltathetarad) { fDeltaThetaRad = deltathetarad; } */
27 /* void SetDeltaThetaSteppingDeg(double deltathetadeg) { fDeltaThetaRad = TMath::DegToRad() * deltathetadeg; } */
29 
30  int ExtractLegendreMaximum(double &theta_max, double &r_max);
31  void ExtractLegendreMaxima(int nmaxima, std::vector< double > &theta_max, std::vector< double > &r_max, std::vector< int > &content_max);
32  int ExtractZoomMaximum(double &theta_max, double &r_max);
33  int ExtractMaximumFromHisto(TH2F *histo, double &theta_max, double &r_max);
34  void ExtractMaximaFromHisto(int nmaxima, TH2F *histo, std::vector< double > &theta_max, std::vector< double > &r_max, std::vector< int > &content_max);
35 
36  void ExtractLineParameters(double theta, double r, double &slope, double &intercept);
37  void ExtractLegendreSingleLineParameters(double &slope, double &intercept);
38  void ExtractZoomSingleLineParameters(double &slope, double &intercept);
39 
40  void DeleteZoneAroundXYLegendre(double x, double y);
41  void DeleteZoneAroundXYZoom(double x, double y);
42  void DeleteZoneAroundXY(TH2F *histo, double x, double y);
43 
44 
45  void Draw();
46  void DrawZoom();
47 
48  private:
52  ClassDef(PndTrkLegendreTransform, 1)
53 };
54 
55 
56 #endif
double r
Definition: RiemannTest.C:14
void FillLegendreHisto(double x, double y, double radius)
void FillHisto(TH2F *histo, double thetamin, double thetamax, double x, double y, double radius)
void DeleteZoneAroundXYLegendre(double x, double y)
void ExtractMaximaFromHisto(int nmaxima, TH2F *histo, std::vector< double > &theta_max, std::vector< double > &r_max, std::vector< int > &content_max)
int ExtractLegendreMaximum(double &theta_max, double &r_max)
Double_t
int ExtractZoomMaximum(double &theta_max, double &r_max)
void FillZoomHisto(double x, double y, double radius)
void ExtractLineParameters(double theta, double r, double &slope, double &intercept)
void ExtractLegendreSingleLineParameters(double &slope, double &intercept)
double threshold
void DeleteZoneAroundXYZoom(double x, double y)
int ExtractMaximumFromHisto(TH2F *histo, double &theta_max, double &r_max)
Double_t x
void ApplyThresholdLegendreHisto(double threshold)
void ExtractZoomSingleLineParameters(double &slope, double &intercept)
Double_t y
void DeleteZoneAroundXY(TH2F *histo, double x, double y)
void ExtractLegendreMaxima(int nmaxima, std::vector< double > &theta_max, std::vector< double > &r_max, std::vector< int > &content_max)