PandaRoot
PndTrkCombiLegendreTransform.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef PNDTRKCOMBILEGENDRETRANSFORM_H
14 #define PNDTRKCOMBILEGENDRETRANSFORM_H
15 
16 #include "TMath.h"
17 #include "TH2F.h"
18 
19 class PndTrkCombiLegendreTransform : public TObject {
20 
21  public:
24 
25  void SetUpLegendreHisto();
26  void SetUpLegendreHisto(double thetaNofBin, double thetaMin, double thetaMax, double rNofBin, double rMin, double rMax);
27  void ResetLegendreHisto();
28  TH2F *GetLegendreHisto() { return fhLegendre; }
29  void FillLegendreHisto(double x1, double y1, double radius1, double x2, double y2, double radius2);
30  void FillHisto(TH2F *histo, double x1, double y1, double r1, double x2, double y2, double r2);
31  void ComputeThetaR(double x1, double y1, double r1, double x2, double y2, double r2, double &theta, double &r);
32 
33  int ExtractLegendreMaximum(double &theta_max, double &r_max);
34  int ExtractMaximumFromHisto(TH2F *histo, double &theta_max, double &r_max);
35  void ExtractLegendreSingleLineParameters(double &slope, double &intercept);
36  void ExtractLineParameters(double theta, double r, double &slope, double &intercept);
37 
38  void Draw();
39 
40  private:
41  Double_t fThetaNofBin, fThetaMin, fThetaMax, fRNofBin, fRMin, fRMax; //, fDeltaThetaRad;
42  TH2F *fhLegendre;
43  ClassDef(PndTrkCombiLegendreTransform, 1)
44 };
45 
46 #endif
void FillLegendreHisto(double x1, double y1, double radius1, double x2, double y2, double radius2)
void FillHisto(TH2F *histo, double x1, double y1, double r1, double x2, double y2, double r2)
void ComputeThetaR(double x1, double y1, double r1, double x2, double y2, double r2, double &theta, double &r)
void ExtractLineParameters(double theta, double r, double &slope, double &intercept)
void ExtractLegendreSingleLineParameters(double &slope, double &intercept)
int ExtractLegendreMaximum(double &theta_max, double &r_max)
int ExtractMaximumFromHisto(TH2F *histo, double &theta_max, double &r_max)