#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();
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; }
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();
(signal <= AliITSChannelDaSSD::GetUnderflowConst())); }
string ConvBase(const unsigned long value, const long base) const;
- ClassDef(AliITSHandleDaSSD, 7)
+ ClassDef(AliITSHandleDaSSD, 8)
};