]> git.uio.no Git - u/mrichter/AliRoot.git/blame - TRD/AliTRDtrackletOflHelper.h
add calculation and histograms for MC cross section
[u/mrichter/AliRoot.git] / TRD / AliTRDtrackletOflHelper.h
CommitLineData
212b7ec8 1#ifndef ALITRDTRACKLETOFLHELPER_H
2#define ALITRDTRACKLETOFLHELPER_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4* See cxx source for full Copyright notice */
5
6/* $Id: AliTRDtrackletOflHelper.h 45666 2010-11-24 17:00:44Z cblume $ */
7
8////////////////////////////////////////////////////////////////////////////
9// //
10// \class AliTRDtrackletOflHelper //
11// \brief The TRD offline tracklet helper class //
12// \author Alexandru Bercuci //
13// //
14////////////////////////////////////////////////////////////////////////////
15
16#ifndef ROOT_TObject
17#include "TObject.h"
18#endif
19
20#ifndef ALITRDTRACKERV1_H
21#include "AliTRDtrackerV1.h"
22#endif
23
24class TVirtualPad;
25class TObjArray;
26class AliTRDpadPlane;
27class AliTRDtrackletOflHelper:public TObject
28{
29public:
30 enum ETRDtrackletOflHelper{
31 kNcls = 200
32 ,kNormal = 0
33 ,kDeltaRay = 1
34 ,kSecond = 2
35 ,kElephant = 3
36 ,kUnknown = 4
37 };
38 AliTRDtrackletOflHelper();
39 AliTRDtrackletOflHelper(const AliTRDtrackletOflHelper &ref);
40 AliTRDtrackletOflHelper& operator=(const AliTRDtrackletOflHelper &rhs);
41 virtual ~AliTRDtrackletOflHelper();
42
43 Int_t ClassifyTopology();
44 Int_t Expand(TObjArray *cls, Int_t *mark=NULL, Int_t groupId=-1);
45 static void FindSolidCls(Bool_t *mark, Int_t *q);
46 static Bool_t Fit(Int_t n, Double_t *dx, Double_t *dy, Double_t *s2, Double_t *par, Double_t sCut=1.5, Double_t *cov=NULL);
47 Bool_t Fit(Double_t *par, Double_t sCut=1.5) const;
48 Bool_t FitPSR(Double_t dy[200], Bool_t useSolid=kFALSE);
49 TObjArray* GetClusters() const {return fClusters;};
50 void GetColSignals(Int_t col, Int_t adc[32], Bool_t mainRow=kTRUE) const;
51 Int_t GetColSpread() const {return fCol[1]-fCol[0]+1;}
52 Int_t GetColStart() const {return fCol[0];}
53 Int_t GetColStop() const {return fCol[1];}
2f4384e6 54 Double_t GetQ() const;
212b7ec8 55 Int_t GetRow() const {return fRow;}
2f4384e6 56 Int_t GetRMS(Double_t &r, Double_t &m, Double_t &s, Double_t xm) const;
212b7ec8 57 Double_t GetSyMean() const;
58 Int_t GetTbStart() const {return fTBrange[0];}
59 Int_t GetTbStop() const {return fTBrange[1];}
60 Int_t Init(AliTRDpadPlane *p, TObjArray *cls, Int_t *mark=NULL, Int_t groupId=-1);
61 static Int_t Segmentation(Int_t n, Double_t *x, Double_t *y, Int_t *Index);
62 void SetTbRange(Float_t t0, Float_t vd);
63 void View(TVirtualPad *pad=NULL);
64
65protected:
66private:
67 static AliTRDtrackerV1::AliTRDLeastSquare& Fitter();
68
69 Int_t fCol[2]; //! pad col start/stop
70 Int_t fRow; //! main pad row
71 Int_t fTBrange[2]; //! start/stop time bin (t0, vd)
72 TObjArray *fClusters; // cluster array
73 AliTRDpadPlane *fPadPlane; //! pad plane for detector
74
75 ClassDef(AliTRDtrackletOflHelper, 1) // Offline tracklet helper
76};
77
78#endif