]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnDaughterCutPair.h
AliPHOSTrackSegmentMaker, AliPHOSPID, TClonesArray of EMC and CPV
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnDaughterCutPair.h
1 /**************************************************************************
2  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3  * See cxx source for full Copyright notice                               *
4  **************************************************************************/
5
6 //-------------------------------------------------------------------------
7 //                      Class AliRsnDaughterCutPair
8 //  
9 //           Implementation of various cut which can be applied
10 //           during resonance analysis. 
11 //           First is the virtual base class.
12 // 
13 // author: A. Pulvirenti             (email: alberto.pulvirenti@ct.infn.it)
14 //-------------------------------------------------------------------------
15
16 #ifndef ALIRSNDAUGHTERCUTPAIR_H
17 #define ALIRSNDAUGHTERCUTPAIR_H
18
19 class AliRsnDaughter;
20
21 class AliRsnDaughterCutPair : public TObject
22 {
23 public:
24                         AliRsnDaughterCutPair() {}
25         virtual        ~AliRsnDaughterCutPair() {}
26         virtual Bool_t  Pass(AliRsnDaughter *track1, AliRsnDaughter *track2) const;
27 private:
28         ClassDef(AliRsnDaughterCutPair,1)
29 };
30 //      
31 //-------------------------------------------------------------------------
32 //
33 class AliRsnDaughterCutPairPt : public AliRsnDaughterCutPair
34 {
35 public:
36                                AliRsnDaughterCutPairPt(Double_t min, Double_t max) : fPtMin(min),fPtMax(max) {}
37         virtual       ~AliRsnDaughterCutPairPt() {}
38         virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2) const;
39 protected:
40         Double_t fPtMin; // smallest allowed Pt
41         Double_t fPtMax; // largest allowed Pt
42         
43         ClassDef(AliRsnDaughterCutPairPt,1)
44 };
45 //
46 //-------------------------------------------------------------------------
47 //
48 class AliRsnDaughterCutPairArmenteros : public AliRsnDaughterCutPair
49 {
50 public:
51                                AliRsnDaughterCutPairArmenteros(Double_t qMin, Double_t qMax, Double_t aMin, Double_t aMax)
52                                 : fQtMin(qMin),fQtMax(qMax),fAlphaMin(aMin),fAlphaMax(aMax) {}
53         virtual       ~AliRsnDaughterCutPairArmenteros() {}
54         virtual Bool_t Pass(AliRsnDaughter *track1, AliRsnDaughter *track2) const;
55                 void   Compute(AliRsnDaughter *track1, AliRsnDaughter *track2, Double_t &qt, Double_t &alpha) const;
56 private:
57         Double_t fQtMin;    // minimum Qt
58         Double_t fQtMax;    // minimum Qt
59         Double_t fAlphaMin; // minimum alpha
60         Double_t fAlphaMax; // minimum alpha
61         
62         ClassDef(AliRsnDaughterCutPairArmenteros,1)
63 };
64
65 #endif