27-may-2001 NvE New class AliEvent introduced and RALICELinkDef.h & co. updated accor...
[u/mrichter/AliRoot.git] / RALICE / AliInvmass.h
1 #ifndef ALIINVMASS_H
2 #define ALIINVMASS_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 // $Id$
7
8 #include <iostream.h>
9 #include <math.h>
10  
11 #include "TObject.h"
12 #include "TObjArray.h"
13
14 #include "AliRandom.h"
15 #include "AliTrack.h"
16
17 class AliInvmass : public TObject
18 {
19  public:
20   AliInvmass();                                    // Default constructor
21   ~AliInvmass();                                   // Destructor
22   void SetStorageMode(Int_t m);                    // Set storage mode (1=single, 2=multiple)
23   void SetThetaSwitch(Int_t i=1);                  // Enable (1/0) new theta for comb. bkg. reco.
24   void SetPhiSwitch(Int_t i=1);                    // Enable (1/0) new phi for comb. bkg. reco.
25   Int_t GetStorageMode();                          // Provide storage mode
26   Int_t GetThetaSwitch();                          // Provide theta switch flag
27   Int_t GetPhiSwitch();                            // Provide phi switch flag
28   TObjArray* Invmass(TObjArray* a1,TObjArray* a2); // Two-particle inv. mass reco.
29   TObjArray* CombBkg(TObjArray* a1,TObjArray* a2); // Two-particle comb. background reco.
30
31  protected:
32   Double_t fPi;     // Value of pi
33   Int_t fMode;      // Storage mode for signal and bkg. results (2=separate arrays)
34   Int_t fBkg;       // Flag to denote comb. background processing
35   AliRandom fRndm;  // The random number generator for the comb. bkg. reconstruction
36   Int_t fNewtheta;  // Flag to denote enabling of switching theta for comb. bkg. reco.
37   Int_t fNewphi;    // Flag to denote enabling of switching phi for comb. bkg. reco.
38   TObjArray* fMinv; // Array with reconstructed invariant mass 'tracks'
39   TObjArray* fMbkg; // Array with reconstructed comb. background 'tracks'
40
41  private:
42   void Combine(TObjArray* a1,TObjArray* a2); // Make two-particle combinations
43
44  ClassDef(AliInvmass,1) // Construction of invariant mass and combinatorial background.
45 };
46 #endif