]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - VZERO/AliVZEROReconstructor.h
First optimization of the CF multiplicity and centrality bins
[u/mrichter/AliRoot.git] / VZERO / AliVZEROReconstructor.h
index 0a0e8251761ff7acc911e11751ef56ebf1d8e86c..1ca537040dc7f43d3d5fb246bb961c3a270db47b 100644 (file)
 #include "AliCDBStorage.h"
 #include "AliCDBEntry.h"
 
-#include "AliVZEROCalibData.h"
 #include "AliLog.h"
 #include "AliESDVZERO.h"
+#include "AliVZERORecoParam.h"
 
-class AliLoader;
-class AliESD;
+class TF1;
+class TH1F;
+class AliVZEROCalibData;
+class AliVZEROTriggerData;
+class AliESDEvent;
+class AliESDVZEROfriend;
 
 class AliVZEROReconstructor: public AliReconstructor {
 public:
   AliVZEROReconstructor();
   virtual ~AliVZEROReconstructor();
-  virtual void   Init(AliRunLoader* runLoader);
-  virtual void   Reconstruct(AliRunLoader* /*runLoader*/) const {
-    AliError("Method not implemented"); return;};
+  virtual void   Init();
   
   virtual void   Reconstruct(AliRawReader* /*rawReader*/, 
                             TTree* /*clustersTree*/) const {
-    AliError("Method not implemented"); return;};
-  virtual void   Reconstruct(AliRunLoader* /*runLoader*/, 
-                             AliRawReader* /*rawReader*/) const {
-    AliError("Method not implemented"); return;};
+                 AliError("Method not implemented"); return;};
   virtual void   Reconstruct(TTree*, TTree*) const {return;};
   
-  virtual void   FillESD(AliRunLoader* /*runLoader*/, AliESD* /*esd*/) const {
-    AliInfo("Method is not used"); return;};
-  
   virtual void   FillESD(TTree* digitsTree, TTree* /*clustersTree*/, 
-                        AliESD* /*esd*/) const;
+                        AliESDEvent* esd) const;
 
   virtual void   FillESD(AliRawReader* /*rawReader*/, TTree* /*clustersTree*/, 
-                        AliESD* /*esd*/) const {
-    AliError("Method not implemented"); return;};
-  
-  virtual void   FillESD(AliRunLoader* /*runLoader*/, 
-                        AliRawReader* /*rawReader*/, AliESD* /*esd*/) const {
-    AliInfo("Method is not used"); return;};
+                        AliESDEvent* /*esd*/) const {
+                 AliError("Method not implemented"); return;};
   
   virtual Bool_t HasDigitConversion() const { return kTRUE; }
   virtual void   ConvertDigits(AliRawReader* rawReader,
                               TTree* digitsTree) const;
-  virtual Bool_t HasLocalReconstruction() const { return kTRUE; }
 
+  static const AliVZERORecoParam* GetRecoParam() { return dynamic_cast<const AliVZERORecoParam*>(AliReconstructor::GetRecoParam(12)); }
+                                
   AliCDBStorage     *SetStorage(const char* uri);
+  void GetCollisionMode();
+  
   AliVZEROCalibData *GetCalibData() const; 
+  Float_t            CorrectLeadingTime(Int_t i, Float_t time, Float_t adc) const;
+
+  enum {kInvalidADC   =  -1024,
+        kInvalidTime  =  -1024};
+
+  AliESDVZERO*    GetESDVZERO() { return fESDVZERO; }
 
 protected:
-  AliESDVZERO*        fESDVZERO;      // ESD output object  
-  AliESD*                  fESD;      // ESD object
+  AliESDVZERO*        fESDVZERO;       // ESD output object  
+  AliESDEvent*             fESD;       // ESD object
+  AliESDVZEROfriend*  fESDVZEROfriend; // ESD friend object (complete raw data)
   
 private:
   AliVZEROReconstructor(const AliVZEROReconstructor& reconstructor);
   AliVZEROReconstructor& operator = (const AliVZEROReconstructor& reconstructor);
   
-private:
-  AliRunLoader*      fRunLoader;      //! pointer to runloader    
   AliVZEROCalibData* fCalibData;      //! calibration data
-  ClassDef(AliVZEROReconstructor, 0)  // class for the VZERO reconstruction
+  AliVZEROTriggerData* fTriggerData;    //! calibration data
+  Float_t            fTimeOffset[64]; //! HPTDC time offsets channel by channel
+  TF1*               fTimeSlewing;    //! Function for time slewing correction
+  TObjArray*         fSaturationCorr; //! Array with functions for correcting the signal saturation
+  TH1F*              fEqFactors;      //! Histogram with the equalization factors used in event-plane reconstruction
+
+  Int_t              fCollisionMode;  // =0->p-p, =1->A-A
+  Float_t            fBeamEnergy;     // beam energy
+
+  mutable TClonesArray *fDigitsArray; // clones-array for ConvertDigits() and FillESD()
+
+  ClassDef(AliVZEROReconstructor, 5)  // class for the VZERO reconstruction
 };
 
 #endif