]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITSHandleDaSSD.h
Modifications for short tracks afterburner. RecoParams regenerated (in itsupcdb.tar.gz)
[u/mrichter/AliRoot.git] / ITS / AliITSHandleDaSSD.h
index 37867571c19f6cea6a0b9019b3e897b0777e4202..ff66c79b8232c31a158a2fc8b550647fd8624956 100644 (file)
 #include "TObject.h"
 #include "TArrayS.h"
 #include "AliITSModuleDaSSD.h"
-#include "AliITSBadChannelsSSDv2.h"
-#include "AliITSNoiseSSDv2.h"
 
 ///////////////////////////////////////////////////////////////////////////////
 ///
 /// This class provides ITS SSD data handling
 /// used by DA. 
 //  Author: Oleksandr Borysov
-//  Date: 18/07/2008
+//  Date: 09/02/2010
 ///////////////////////////////////////////////////////////////////////////////
 
 using namespace std;
 
+class AliITSBadChannelsSSDv2;
+class AliITSNoiseSSDv2;
+
 class AliITSHandleDaSSD : public TObject {
   public :
     AliITSHandleDaSSD();
@@ -36,7 +37,7 @@ class AliITSHandleDaSSD : public TObject {
 
     void    SetZsDefaul(const Int_t zs)        { fZsDefault = zs;       }
     void    SetOffsetDefault(const Int_t offs) { fOffsetDefault = offs; }
-    void    SetZsMinimum(const Int_t zsm)      { fZsMinimum = zsm;      }
+    void    SetZsMinimum(const Int_t zsm)      { if (zsm >= 0) if (static_cast<UInt_t>(zsm) <= fgkZsBitMask) fZsMinimum = zsm; }
     void    SetMergeBCFlag(const Byte_t mbcf)  { fMergeBCLists = mbcf;  }
     void    SetZsFactor(const Float_t zsf)     { fZsFactor = zsf;       }
     void    SetPedestalThresholdFactor(const Float_t pthf) { fPedestalThresholdFactor = pthf; }
@@ -80,24 +81,28 @@ class AliITSHandleDaSSD : public TObject {
     Int_t   ReadCalibrationDataFile (char* fileName, const Long_t eventsnumber);
     virtual Int_t   ReadModuleRawData (const Int_t modulesnumber);  
 
-    virtual Bool_t  CalculatePedestal(AliITSModuleDaSSD *const module);
-    virtual Bool_t  CalculateNoise(AliITSModuleDaSSD *const module);
+    virtual Bool_t  CalculatePedestal(const AliITSModuleDaSSD *const module);
+    virtual Bool_t  CalculateNoise(const AliITSModuleDaSSD *const module);
     virtual Bool_t  CalculateNoiseCM(AliITSModuleDaSSD *const module);
     virtual Bool_t  CalculateCM(AliITSModuleDaSSD *const module);
-    virtual Bool_t  AddFeromCm(AliITSModuleDaSSD *const module);
-    virtual Bool_t  ProcessRawData(const Int_t nmread = fgkNumberOfSSDModulesPerDdl);
+    virtual Bool_t  CalculatePedNoiseW(const AliITSModuleDaSSD *const module);
+    virtual Bool_t  CalculateCMW(AliITSModuleDaSSD *const module);
+    virtual Bool_t  CalculateNoiseCMW(AliITSModuleDaSSD *const module);
+    virtual Bool_t  AddFeromCm(const AliITSModuleDaSSD *const module);
+    virtual Bool_t  ProcessRawData(const Int_t nmread = fgkNumberOfSSDModulesPerDdl,  const Bool_t usewelford = kTRUE);
     virtual Bool_t  RelocateModules();
     virtual Bool_t  AllocateSimulatedModules(const Int_t copymodind = 0);
 
     Bool_t  AdDataPresent(const Int_t ddl, const Int_t ad) const;
     Int_t   DdlToEquipmentId (Int_t ddl) const { return (512 + ddl); }
     Int_t   ChannelIsBad(const UChar_t ddl, const UChar_t ad, const UChar_t adc, const Int_t strn) const;
+    UChar_t EvaluateIfChannelIsBad(const AliITSModuleDaSSD *const module, const Int_t stripn) const;
     Int_t   LadderIsOff(const UChar_t ddl, const UChar_t ad, const UChar_t adc) const;
     Bool_t  SaveEqSlotCalibrationData(const Int_t ddl, const Int_t ad, const Char_t *fname) const;
     ULong_t OffsetValue(const AliITSChannelDaSSD *strip, const UChar_t ddl = 0, const UChar_t ad = 0, 
                                  const UChar_t adc = 0, const Int_t strn = -1) const;
     ULong_t OffsetValue(const UChar_t ddl, const UChar_t ad, const UChar_t adc, const Int_t strn) const;
-    ULong_t ZsThreshold(AliITSChannelDaSSD *strip) const;
+    ULong_t ZsThreshold(const AliITSChannelDaSSD *strip) const;
     ULong_t ZsThreshold(const UChar_t ddl, const UChar_t ad, const UChar_t adc, const Int_t strn) const;
     
     virtual void    Reset();
@@ -160,7 +165,7 @@ class AliITSHandleDaSSD : public TObject {
                                                                      (signal <= AliITSChannelDaSSD::GetUnderflowConst())); }
     string   ConvBase(const unsigned long value, const long base) const;
 
-    ClassDef(AliITSHandleDaSSD, 7)
+    ClassDef(AliITSHandleDaSSD, 8)
 
 };