]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - HMPID/AliHMPIDReconstructor.h
Protection in case of wrong wavelength values
[u/mrichter/AliRoot.git] / HMPID / AliHMPIDReconstructor.h
index 96ccb0f16a4390aa014c465fa6b8073adebf9039..d0588f16aca41e3b598d7a4ec7351fe8b8a5f315 100644 (file)
@@ -8,6 +8,8 @@
 #include <AliReconstructor.h>        //base class
 #include "AliHMPIDTracker.h"         //CreateTracker()
 #include "AliHMPIDDigit.h"           //Dig2Clu(), UseDig()
+#include "AliHMPIDRecoParam.h"       //Init
+
 #include <TMatrixF.h>                //UseDig()
 #include <TClonesArray.h>            //UseDig()
 #include <TObjArray.h>               //SigConv()
@@ -20,31 +22,39 @@ public:
            AliHMPIDReconstructor();              
   virtual ~AliHMPIDReconstructor()                                  {delete fDig;delete fClu;delete [] fUserCut;}//dtor  
 //framework part  
-  AliTracker*  CreateTracker         (AliRunLoader*                      )const{return new AliHMPIDTracker;}            //from AliReconstructor for clusters->PID
+  AliTracker*  CreateTracker         () const {return new AliHMPIDTracker;}            //from AliReconstructor for clusters->PID
   void         ConvertDigits         (AliRawReader *pRR, TTree *pDigTree) const;                                        //from AliReconstruction for raw->digit
   Bool_t       HasDigitConversion()   const {return kTRUE;}                                                             //HMPID digits converted with ConvertDigits 
   void         Reconstruct           (TTree* digitsTree, TTree* clustersTree) const;                                    //from AliReconstruction for digit->cluster
-  void         Reconstruct           (AliRunLoader *pAL,AliRawReader* pRR)const;                                        //from AliReconstruction for raw->cluster with Digits on fly
-  Bool_t       HasLocalReconstruction() const {return kTRUE;}                                                           // HMPID has local reconstruction algorithm
-  void         FillESD               (AliRunLoader* pAL,AliESDEvent *pESD)const;                                        //calculate pid for HMPID
+  void         FillESD               (TTree* /*digitsTree*/, TTree* /*clustersTree*/, AliESDEvent *pESD)const;                                        //calculate pid for HMPID
   
   using AliReconstructor::FillESD;                                                                                      //
   using AliReconstructor::Reconstruct;                                                                                  // 
 
   //private part  
-  static        void           Dig2Clu (TObjArray *pDigLst,TObjArray *pCluLst,Bool_t isUnfold=kTRUE                      );//digits->clusters
+  static        void           Dig2Clu (TObjArray *pDigLst,TObjArray *pCluLst,Int_t *pUserCut,Bool_t isUnfold=kTRUE     );//digits->clusters
   static        void           FormClu (AliHMPIDCluster *pClu,AliHMPIDDigit *pDig,TClonesArray *pDigLst,TMatrixF *pPadMap);//cluster formation recursive algorithm
   static inline AliHMPIDDigit* UseDig  (Int_t padX,Int_t padY,                    TClonesArray *pDigLst,TMatrixF *pDigMap);//use this pad's digit to form a cluster
   inline Bool_t                IsDigSurvive(AliHMPIDDigit *pDig                                                     )const;//check for sigma cut
+  void SetRecoParam(AliHMPIDRecoParam *recopar){ fgkRecoParam = recopar;}
+  static const AliHMPIDRecoParam* GetRecoParam(){ return fgkRecoParam;}
+
+  
   protected:
+  static AliHMPIDRecoParam*  fgkRecoParam;      // Pointer to HMPID RecoParams
   Int_t     *fUserCut;                 // n sigmas for pedestals decided by the User for each chamber(if in OCDB)
   TObjArray *fDaqSig;                  // container for the pad pedestal sigmas
   TObjArray *fDig;                     // tmp list of digits
   TObjArray *fClu;                     // tmp list of clusters
-  ClassDef(AliHMPIDReconstructor, 0)   // class for the HMPID reconstruction
+//
+  private:
+  AliHMPIDReconstructor(const AliHMPIDReconstructor& r);              //dummy copy constructor
+  AliHMPIDReconstructor &operator=(const AliHMPIDReconstructor& r);   //dummy assignment operator
+//  
+  ClassDef(AliHMPIDReconstructor, 1)   // class for the HMPID reconstruction
 };
 
-//__________________________________________________________________________________________________
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 AliHMPIDDigit* AliHMPIDReconstructor::UseDig(Int_t padX,Int_t padY,TClonesArray *pDigLst,TMatrixF *pPadMap)
 {
 //Digit map contains a matrix if digit numbers.