]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TPC/AliExternalComparison.h
Protection agains not existing entries in the array
[u/mrichter/AliRoot.git] / TPC / AliExternalComparison.h
1 #ifndef ALIEXTERNALCOMPARISON_H
2 #define ALIEXTERNALCOMPARISON_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7
8 #include "TNamed.h"
9 #include "TMatrixD.h"
10 class THnSparse;
11 class TCollection;
12 class AliExternalTrackParam;
13 class TParticle;
14 class AliTrackReference;
15 class TObjArray;
16  
17 class AliExternalComparison:public TNamed {
18 public:
19   AliExternalComparison(); 
20   AliExternalComparison(const Text_t *name, const Text_t *title);
21   virtual ~AliExternalComparison();
22   virtual Long64_t       Merge(TCollection *li);
23   virtual void           Add(AliExternalComparison*comp);
24   virtual void           Analyze();
25   virtual void           Process(const AliExternalTrackParam *param0, const AliExternalTrackParam *param1);
26   virtual void           Process(const AliExternalTrackParam *param0, TParticle *part);
27   virtual void           Process(const AliExternalTrackParam *param0, TParticle *part, const AliTrackReference *ref);
28   //
29   virtual THnSparse      * GetHisto(Int_t ivar, Int_t type);
30   void MakeComparisonTree(const char * outname);
31   static AliExternalTrackParam *MakeExternalParam(TParticle *part);
32   static AliExternalTrackParam *MakeExternalParam(TParticle *part, const AliTrackReference *ref);
33   Bool_t                 AcceptPair(const AliExternalTrackParam *param0, const AliExternalTrackParam *param1);
34
35   virtual void           SetDefaultRange(Float_t scale=0.3, Float_t arm=160, Int_t nbins=200);  
36   virtual void           SetDefaultCuts();  
37
38   //
39   void SetDistCut(Float_t dP0, Float_t dP1,Float_t dP2,Float_t dP3, Float_t dP4);
40   void SetPullDistCut(Float_t dnP0, Float_t dnP1,Float_t dnP2,Float_t dnP3, Float_t dnP4);
41   void SetResolRange(Int_t param, Float_t min, Float_t max, Int_t nbins);
42
43 protected:
44   void    MakeHistos();
45 public:
46   TObjArray * fResolHistos;             // resolution histogram
47   TObjArray * fPullHistos;              // pull       histogram
48   TMatrixD  * fRangeMatrix;             // range matrix
49   TMatrixD  * fCutMatrix;               // cut matrix
50   //
51   AliExternalComparison(const AliExternalComparison&); 
52   AliExternalComparison& operator=(const AliExternalComparison&); 
53
54   ClassDef(AliExternalComparison, 1); 
55 };
56
57 #endif
58
59