FEDRA emulsion software from the OPERA Collaboration
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
EdbSEQ.h
Go to the documentation of this file.
1#ifndef ROOT_EdbSEQ
2#define ROOT_EdbSEQ
3#include "TObject.h"
4#include "TVector2.h"
5#include "TF1.h"
6#include "EdbSigma.h"
7#include "EdbCell1.h"
8#include "EdbPattern.h"
9
10//---------------------------------------------------------------------------
11class EdbSEQ : public EdbSigma
12{
13
14 public:
15 Double_t eS0mt;
16 Double_t eNsigma;
17 Double_t eArea;
18
19 int eNP;
20
23
24 private:
25 TVector2 *eXLimits;
26 TVector2 *eYLimits;
27 TVector2 *eThetaLimits;
28 TVector2 *eWLimits;
29 TVector2 *eChiLimits;
30
31 public:
32 EdbSEQ() { ((EdbSigma*)this)->Set0(); Set0();}
33 virtual ~EdbSEQ();
34
35 void Set0();
36
37 void SetXLimits(float xmin, float xmax) {SafeDelete(eXLimits); eXLimits=new TVector2(xmin,xmax);}
38 void SetYLimits(float ymin, float ymax) {SafeDelete(eYLimits); eYLimits=new TVector2(ymin,ymax);}
39 void SetWLimits(float wmin, float wmax) {SafeDelete(eWLimits); eWLimits=new TVector2(wmin,wmax);}
40 void SetThetaLimits(float tmin, float tmax) {SafeDelete(eThetaLimits); eThetaLimits=new TVector2(tmin,tmax);}
41 void SetChiLimits(float cmin, float cmax) {SafeDelete(eChiLimits); eChiLimits=new TVector2(cmin,cmax);}
42
43 double DNmt(double t);
44 double FDNmt(double *x, double *par) {return DNmt(*x);}
45
46 double DNbt(double t);
47 double FDNbt(double *x, double *par) {return DNbt(*x);}
48
49 void CalculateDensityMT( EdbH1 &hEq );
50
51 void PreSelection( EdbPattern &pi, TObjArray &po );
52
53 void EqualizeMT(TObjArray &mti, TObjArray &mto, Double_t area);
54
57 void ExcludeThetaRange(TObjArray &mti, TObjArray &mto);
59
60 float Wmt(EdbSegP &s) { return s.W()*50. + s.DZ(); }
61
62 TH1F *ThetaPlot(TObjArray &arr, const char *name="theta", const char *title="EdbSEQ theta distribution normalised to area");
63 TH1F *ThetaPlot(EdbPattern &p, const char *name="theta", const char *title="EdbSEQ theta distribution normalised to area");
64
65 void Draw();
66 void PrintLimits();
67
68 ClassDef(EdbSEQ,1) // segments equalizer
69};
70
71#endif /* ROOT_EdbSEQ */
fast 2-dim histogram class (used as a basis for EdbCell1)
Definition: EdbCell1.h:17
Definition: EdbPattern.h:273
Definition: EdbSEQ.h:12
void SetWLimits(float wmin, float wmax)
Definition: EdbSEQ.h:39
TObjArray eExcludeThetaRange
can be added EdbSegP with tx,ty, sigmaTX,sigmaTY to be excluded
Definition: EdbSEQ.h:21
void CalculateDensityMT(EdbH1 &hEq)
Definition: EdbSEQ.cxx:137
Double_t eArea
effective area of the pattern to be equalized
Definition: EdbSEQ.h:17
TVector2 * eXLimits
[min,max] area limits for the preselection procedure
Definition: EdbSEQ.h:25
Double_t eS0mt
= 270.*340.; // area unit for Nseg calculation
Definition: EdbSEQ.h:15
TVector2 * eChiLimits
[min,max]
Definition: EdbSEQ.h:29
EdbSEQ()
Definition: EdbSEQ.h:32
void Draw()
Definition: EdbSEQ.cxx:112
TVector2 * eWLimits
[min,max]
Definition: EdbSEQ.h:28
double DNbt(double t)
Definition: EdbSEQ.cxx:97
void SetXLimits(float xmin, float xmax)
Definition: EdbSEQ.h:37
double DNmt(double t)
Definition: EdbSEQ.cxx:84
void AddExcludeThetaRange(EdbSegP &s)
Definition: EdbSEQ.cxx:189
void ExcludeThetaRange(TObjArray &mti, TObjArray &mto)
Definition: EdbSEQ.cxx:195
int eNP
number of points for the functions calculation
Definition: EdbSEQ.h:19
virtual ~EdbSEQ()
Definition: EdbSEQ.cxx:23
EdbH1 eHEq
Definition: EdbSEQ.h:22
TVector2 * eYLimits
[min,max]
Definition: EdbSEQ.h:26
double FDNmt(double *x, double *par)
Definition: EdbSEQ.h:44
void EqualizeMT(TObjArray &mti, TObjArray &mto, Double_t area)
Definition: EdbSEQ.cxx:220
void PrintLimits()
Definition: EdbSEQ.cxx:49
TVector2 * eThetaLimits
[min,max]
Definition: EdbSEQ.h:27
void SetYLimits(float ymin, float ymax)
Definition: EdbSEQ.h:38
void PreSelection(EdbPattern &pi, TObjArray &po)
Definition: EdbSEQ.cxx:159
double FDNbt(double *x, double *par)
Definition: EdbSEQ.h:47
void SetChiLimits(float cmin, float cmax)
Definition: EdbSEQ.h:41
float Wmt(EdbSegP &s)
Definition: EdbSEQ.h:60
bool IsInsideThetaRange(EdbSegP *s)
Definition: EdbSEQ.cxx:206
TH1F * ThetaPlot(TObjArray &arr, const char *name="theta", const char *title="EdbSEQ theta distribution normalised to area")
Definition: EdbSEQ.cxx:68
void Set0()
Definition: EdbSEQ.cxx:33
void SetThetaLimits(float tmin, float tmax)
Definition: EdbSEQ.h:40
Double_t eNsigma
=4
Definition: EdbSEQ.h:16
void ResetExcludeThetaRange()
Definition: EdbSEQ.h:55
Definition: EdbSegP.h:21
Definition: EdbSigma.h:8
TTree * t
Definition: check_shower.C:4
s
Definition: check_shower.C:55
const char * name
Definition: merge_Energy_SytematicSources_Electron.C:24
p
Definition: testBGReduction_AllMethods.C:8
TProfile * po
Definition: testChi2Ordering.C:29