First V0 MC Analysis from H.Ricaud
[u/mrichter/AliRoot.git] / ZDC / AliZDCReco.h
1 #ifndef ALIZDCRECO_H
2 #define ALIZDCRECO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ////////////////////////////////////////////////
7 //  Classe for ZDC RecPoints                  //
8 ////////////////////////////////////////////////
9
10 #include "TObject.h"
11
12 class AliZDCReco : public TObject {
13
14 public:
15   AliZDCReco();
16   AliZDCReco(Float_t ezn1, Float_t ezp1, Float_t ezn2, Float_t ezp2,  
17              Float_t* ezn1tow, Float_t* ezp1tow,
18              Float_t* ezn2tow, Float_t* ezp2tow, 
19              Float_t* ezn1siglr, Float_t* ezp1siglr,
20              Float_t* ezn2siglr, Float_t* ezp2siglr,
21              Float_t ezem, 
22              //    
23              Int_t detspnLeft,  Int_t detsppLeft, Int_t detspnRight, Int_t detsppRight,  
24              Int_t trspnLeft, Int_t trsppLeft, Int_t trspLeft, 
25              Int_t trspnRight, Int_t trsppRight, Int_t trspRight,
26              Int_t partLeft, Int_t partRight,  
27              Float_t b);
28
29   AliZDCReco(const AliZDCReco &oldreco);
30   virtual ~AliZDCReco() {}
31
32   // Getters 
33   virtual Float_t GetZN1Energy()   const  {return fZN1Energy;}
34   virtual Float_t GetZP1Energy()   const  {return fZP1Energy;}
35   virtual Float_t GetZN2Energy()   const  {return fZN2Energy;}
36   virtual Float_t GetZP2Energy()   const  {return fZP2Energy;}
37   //
38   virtual Float_t GetZN1EnTow(Int_t tow)  const {return fZN1EnTow[tow];}
39   virtual Float_t GetZP1EnTow(Int_t tow)  const {return fZP1EnTow[tow];}
40   virtual Float_t GetZN2EnTow(Int_t tow)  const {return fZN2EnTow[tow];}
41   virtual Float_t GetZP2EnTow(Int_t tow)  const {return fZP2EnTow[tow];}
42   //
43   virtual Float_t GetZN1SigLowRes(Int_t tow)  const {return fZN1SigLowRes[tow];}
44   virtual Float_t GetZP1SigLowRes(Int_t tow)  const {return fZP1SigLowRes[tow];}
45   virtual Float_t GetZN2SigLowRes(Int_t tow)  const {return fZN2SigLowRes[tow];}
46   virtual Float_t GetZP2SigLowRes(Int_t tow)  const {return fZP2SigLowRes[tow];}
47   //
48   virtual Float_t GetZEMsignal()   const  {return fZEMsignal;}
49   //
50   virtual Int_t   GetNDetSpecNLeft()   const {return fNDetSpecNLeft;}
51   virtual Int_t   GetNDetSpecPLeft()   const {return fNDetSpecPLeft;}
52   virtual Int_t   GetNDetSpecNRight()  const {return fNDetSpecNRight;}
53   virtual Int_t   GetNDetSpecPRight()  const {return fNDetSpecPRight;}
54   virtual Int_t   GetNTrueSpecNLeft()  const {return fNTrueSpecNLeft;}
55   virtual Int_t   GetNTrueSpecPLeft()  const {return fNTrueSpecPLeft;}
56   virtual Int_t   GetNTrueSpecLeft()   const {return fNTrueSpecLeft;}
57   virtual Int_t   GetNTrueSpecNRight() const {return fNTrueSpecNRight;}
58   virtual Int_t   GetNTrueSpecPRight() const {return fNTrueSpecPRight;}
59   virtual Int_t   GetNTrueSpecRight()  const {return fNTrueSpecRight;}
60   virtual Int_t   GetNPartLeft()       const {return fNPartLeft;}
61   virtual Int_t   GetNPartRight()      const {return fNPartRight;}
62   virtual Float_t GetImpPar()          const {return fImpPar;}
63
64   // Print method
65   virtual void Print(Option_t *) const;
66
67 private:
68   // Data members
69   Float_t fZN1Energy;   // Energy detected in ZN1 (sum of 5 tower signals)
70   Float_t fZP1Energy;   // Energy detected in ZP1 (sum of 5 tower signals)
71   Float_t fZN2Energy;   // Energy detected in ZN2 (sum of 5 tower signals)
72   Float_t fZP2Energy;   // Energy detected in ZP2 (sum of 5 tower signals)
73   //
74   Float_t fZN1EnTow[5]; // Energy in ZN1 towers
75   Float_t fZP1EnTow[5]; // Energy in ZP1 towers
76   Float_t fZN2EnTow[5]; // Energy in ZN2 towers
77   Float_t fZP2EnTow[5]; // Energy in ZP2 towers
78   //
79   Float_t fZN1SigLowRes[5]; // Energy in ZN1 towers - low res ch.
80   Float_t fZP1SigLowRes[5]; // Energy in ZP1 towers - low res ch.
81   Float_t fZN2SigLowRes[5]; // Energy in ZN2 towers - low res ch.
82   Float_t fZP2SigLowRes[5]; // Energy in ZP2 towers - low res ch.
83   //
84   Float_t fZEMsignal;   // Signal in EM ZDC
85   //
86   Int_t   fNDetSpecNLeft;  // Number of spectator neutrons detected
87   Int_t   fNDetSpecPLeft;  // Number of spectator protons detected
88   Int_t   fNDetSpecNRight; // Number of spectator neutrons detected
89   Int_t   fNDetSpecPRight; // Number of spectator protons detected
90   Int_t   fNTrueSpecNLeft; // Estimate of the number of spectator neutrons generated
91   Int_t   fNTrueSpecPLeft; // Estimate of the number of spectator protons generated
92   Int_t   fNTrueSpecLeft;  // Estimate of the total number of spectators
93   Int_t   fNTrueSpecNRight;// Estimate of the number of spectator neutrons generated
94   Int_t   fNTrueSpecPRight;// Estimate of the number of spectator protons generated
95   Int_t   fNTrueSpecRight; // Estimate of the total number of spectators
96   Int_t   fNPartLeft;   // Estimate of the number of participants for 1 nucleus
97   Int_t   fNPartRight;  // Estimate of the number of participants for 1 nucleus
98   Float_t fImpPar;      // Estimate of the impact parameter
99
100
101   ClassDef(AliZDCReco,3)  // RecPoints for the Zero Degree Calorimeters
102 };
103  
104 #endif