X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSClusterFinderV2SDD.h;h=25b90d4a86951dede928fd52cbfe484e0a42f53e;hb=b1a93215820d7e951a1c99ef34c21b2977f9c2ba;hp=2889590814e5d4ef4c20f0d7cc923290bd6c458e;hpb=8ba39da91cc548b1300a6fffdca0a2199d0eb8ef;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSClusterFinderV2SDD.h b/ITS/AliITSClusterFinderV2SDD.h index 2889590814e..25b90d4a869 100644 --- a/ITS/AliITSClusterFinderV2SDD.h +++ b/ITS/AliITSClusterFinderV2SDD.h @@ -9,35 +9,56 @@ // // Origin: Iouri Belikov, CERN, Jouri.Belikov@cern.ch //-------------------------------------------------------------- -#include "AliITSClusterFinderV2.h" +#include "AliITSClusterFinder.h" +#include "AliITSDetTypeRec.h" +class TBits; class TClonesArray; class AliRawReader; class AliITSRawStream; +class AliITSCalibrationSDD; +class AliITSsegmentationSDD; -class AliITSClusterFinderV2SDD : public AliITSClusterFinderV2 { +class AliITSClusterFinderV2SDD : public AliITSClusterFinder { public: AliITSClusterFinderV2SDD(AliITSDetTypeRec* dettyp); - virtual ~AliITSClusterFinderV2SDD(){;} + virtual ~AliITSClusterFinderV2SDD(); virtual void FindRawClusters(Int_t mod); - virtual void RawdataToClusters(AliRawReader* rawReader,TClonesArray** clusters); - protected: + virtual void RawdataToClusters(AliRawReader* rawReader); + void SetPeakSelection(Float_t looseCut=15., Float_t tightCut=30., Float_t maxTime=2000.){ + fCutOnPeakLoose=looseCut; + fCutOnPeakTight=tightCut; + fMaxDrTimeForTightCut=maxTime; + } + + enum {kHybridsPerDDL = 24}; // number of hybrids in each DDL + enum {kModulesPerDDL = 12}; // number of modules in each DDL + protected: + AliITSClusterFinderV2SDD(const AliITSClusterFinderV2SDD &source); // copy constructor + // assignment operator + AliITSClusterFinderV2SDD& operator=(const AliITSClusterFinderV2SDD &source); + Bool_t NoiseSuppress(Int_t k, Int_t sid, AliBin* bins, const AliITSCalibrationSDD* cal) const; void FindClustersSDD(TClonesArray *digits); - void FindClustersSDD(AliBin* bins[2], Int_t nMaxBin, Int_t nMaxZ, - TClonesArray *dig, TClonesArray *clusters=0x0); + void FindClustersSDD(AliBin* bins[2], TBits* anodeFired[2], + TClonesArray *dig, TClonesArray *clusters=0x0, Int_t jitter=0); - void FindClustersSDD(AliITSRawStream* input,TClonesArray** clusters); + void FindClustersSDD(AliITSRawStream* input); + virtual AliITSCalibrationSDD* GetResp(Int_t mod)const{ + return (AliITSCalibrationSDD*) fDetTypeRec->GetCalibrationModel(mod);} + virtual AliITSsegmentationSDD* GetSeg()const{ + return (AliITSsegmentationSDD*)fDetTypeRec->GetSegmentationModel(1);} - Int_t fNySDD; //number of "pixels" in Y - Int_t fNzSDD; //number of "pixels" in Z - Float_t fYpitchSDD; //"pixel size" in Y (drift direction) - Float_t fZpitchSDD; //"pixel sizes" in Z - Float_t fHwSDD; //half width of the SDD detector - Float_t fHlSDD; //half length of the SDD detector - Float_t fYoffSDD; //some delay in the drift channel + Int_t fNAnodes; // number of anodes + Int_t fNTimeBins; // number of time bins + Int_t fNZbins; // number of cells along anodes + Int_t fNXbins; // number of cells along time + AliBin* fDDLBins[kHybridsPerDDL]; // container for digits for 1 DDL + Float_t fCutOnPeakLoose; // loose cut on peak (for all drift times) + Float_t fCutOnPeakTight; // tight cut on peak (for small drift times) + Float_t fMaxDrTimeForTightCut; // max. drift time for fCutOnPeakTight - ClassDef(AliITSClusterFinderV2SDD,1) // ITS cluster finder V2 for SDD + ClassDef(AliITSClusterFinderV2SDD,6) // ITS cluster finder V2 for SDD }; #endif