X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=PHOS%2FAliPHOSClusterizerv1.h;h=2892832e360346a6a47b295b29c9e947e408df57;hb=8866570fdc48d2eb6132e0b203c3a8ec537c4fc2;hp=9f9406fe0437ea11fa0f4fa303c50c304d2c2db4;hpb=e68222ce9f674ad84c7258ee745e73df798e397d;p=u%2Fmrichter%2FAliRoot.git diff --git a/PHOS/AliPHOSClusterizerv1.h b/PHOS/AliPHOSClusterizerv1.h index 9f9406fe043..2892832e360 100644 --- a/PHOS/AliPHOSClusterizerv1.h +++ b/PHOS/AliPHOSClusterizerv1.h @@ -7,7 +7,10 @@ /* History of cvs commits: * - * $Log$ + * $Log: AliPHOSClusterizerv1.h,v $ + * Revision 1.54 2007/10/01 20:24:08 kharlov + * Memory leaks fixed + * * Revision 1.53 2007/08/28 12:55:07 policheh * Loaders removed from the reconstruction code (C.Cheshkov) * @@ -72,39 +75,36 @@ public: AliPHOSClusterizerv1() ; AliPHOSClusterizerv1(AliPHOSGeometry *geom); virtual ~AliPHOSClusterizerv1() ; + + void InitParameters() ; virtual Int_t AreNeighbours(AliPHOSDigit * d1, AliPHOSDigit * d2)const ; // Checks if digits are in neighbour cells - virtual Float_t CalibrateCPV(Int_t amp, Int_t absId) ; // Tranforms CPV Amp to energy - virtual Float_t CalibrateEMC(Float_t amp, Int_t absId) ; // Tranforms EMC Amp to energy - virtual void GetNumberOfClustersFound(int * numb )const{ numb[0] = fNumberOfEmcClusters ; numb[1] = fNumberOfCpvClusters ; } virtual Float_t GetEmcClusteringThreshold()const{ return fEmcClusteringThreshold;} virtual Float_t GetEmcLocalMaxCut()const { return fEmcLocMaxCut;} virtual Float_t GetEmcLogWeight()const { return fW0;} - virtual Float_t GetEmcTimeGate() const { return fEmcTimeGate ; } virtual Float_t GetCpvClusteringThreshold()const{ return fCpvClusteringThreshold; } virtual Float_t GetCpvLocalMaxCut()const { return fCpvLocMaxCut;} virtual Float_t GetCpvLogWeight()const { return fW0CPV;} + virtual Float_t GetEcoreRadius()const { return fEcoreRadius;} // virtual const char * GetRecPointsBranch() const{ return GetName() ;} virtual void Digits2Clusters(Option_t *option); void Print(const Option_t * = "")const ; - void SetEmcMinE(Float_t e){fEmcMinE = e ;} - void SetCpvMinE(Float_t e){fCpvMinE = e ;} virtual void SetEmcClusteringThreshold(Float_t cluth) { fEmcClusteringThreshold = cluth ; } virtual void SetEmcLocalMaxCut(Float_t cut) { fEmcLocMaxCut = cut ; } virtual void SetEmcLogWeight(Float_t w) { fW0 = w ; } - virtual void SetEmcTimeGate(Float_t gate) { fEmcTimeGate = gate ;} virtual void SetCpvClusteringThreshold(Float_t cluth) { fCpvClusteringThreshold = cluth ; } virtual void SetCpvLocalMaxCut(Float_t cut) { fCpvLocMaxCut = cut ; } virtual void SetCpvLogWeight(Float_t w) { fW0CPV = w ; } virtual void SetUnfolding(Bool_t toUnfold = kTRUE ) { fToUnfold = toUnfold ;} + virtual void SetCoreRadius(Float_t coreRadius) { fEcoreRadius = coreRadius ;} //Switch to "on flyght" mode, without writing to TreeR and file void SetWriting(Bool_t toWrite = kFALSE){fWrite = toWrite;} static Double_t ShowerShape(Double_t x, Double_t z) ; // Shape of EM shower used in unfolding; @@ -114,9 +114,6 @@ public: // void Unload() ; virtual const char * Version() const { return "clu-v1"; } - virtual void SetOldRCUFormat(Bool_t rcuFormat = kFALSE) - { fIsOldRCUFormat = rcuFormat; }; - protected: void WriteRecPoints() ; @@ -124,9 +121,11 @@ protected: virtual Bool_t IsInEmc (AliPHOSDigit * digit)const ; // Tells if id digit is in EMC virtual Bool_t IsInCpv (AliPHOSDigit * digit)const ; // Tells if id digit is in CPV void CleanDigits(TClonesArray * digits) ; - void GetCalibrationParameters(void); void SetDistancesToBadChannels(); - + virtual Float_t Calibrate(Float_t amp, Int_t absId) const ; // Tranforms ADC counts to energy + virtual Float_t CalibrateT(Float_t amp, Int_t absId) const ; //Tranforms Sample counts to sec. + Bool_t CheckTimeGate(Float_t t1, Float_t amp1, Float_t t2, Float_t amp2)const ; //Checks if time difference is reasonable + private: AliPHOSClusterizerv1(const AliPHOSClusterizerv1 & clu) ; AliPHOSClusterizerv1 & operator = (const AliPHOSClusterizerv1 & obj); @@ -134,7 +133,6 @@ private: Bool_t FindFit(AliPHOSEmcRecPoint * emcRP, AliPHOSDigit ** MaxAt, Float_t * maxAtEnergy, Int_t NPar, Float_t * FitParametres) const; //Used in UnfoldClusters, calls TMinuit void Init() ; - void InitParameters() ; virtual void MakeUnfolding() ; void UnfoldCluster(AliPHOSEmcRecPoint * iniEmc,Int_t Nmax, @@ -148,30 +146,24 @@ private: Bool_t fToUnfold ; // To perform unfolding Bool_t fWrite ; // Write RecPoints to TreeR + Bool_t fDigitsUsed[53760]; //Mark digits as already used in cluster (EMC:5*56*64 ; CPV: 5*56*128) Int_t fNumberOfEmcClusters ; // number of EMC clusters found Int_t fNumberOfCpvClusters ; // number of CPV clusters found - //Calibration parameters - Float_t fADCchanelEmc ; // width of one ADC channel in GeV - Float_t fADCpedestalEmc ; // - Float_t fADCchanelCpv ; // width of one ADC channel in CPV 'popugais' - Float_t fADCpedestalCpv ; // - Float_t fEmcClusteringThreshold ; // minimum energy to start EMC cluster Float_t fCpvClusteringThreshold ; // minimum energy to start CPV cluster - Float_t fEmcMinE ; // minimum energy of digit to be included into cluster - Float_t fCpvMinE ; // minimum energy of digit to be included into cluster Float_t fEmcLocMaxCut ; // minimum energy difference to distinguish local maxima in a cluster Float_t fW0 ; // logarithmic weight for the cluster center of gravity calculation Float_t fCpvLocMaxCut ; // minimum energy difference to distinguish local maxima in a CPV cluster Float_t fW0CPV ; // logarithmic weight for the CPV cluster center of gravity calculation - // Int_t fRecPointsInRun ; //! Total number of recpoints in one run - Float_t fEmcTimeGate ; // Maximum time difference between the digits in ont EMC cluster - - Bool_t fIsOldRCUFormat; // assume old RCU raw data format + Float_t fTimeGateLowAmp ; // Threshold for good/bad time measurement + Float_t fTimeGateLow ; // Time difference between cells with low amplitude + Float_t fTimeGateHigh ; // Time difference between cells with good time measurement + + Float_t fEcoreRadius ; // Radius within which the core energy is calculated, in cm - ClassDef(AliPHOSClusterizerv1,5) // Clusterizer implementation version 1 + ClassDef(AliPHOSClusterizerv1,8) // Clusterizer implementation version 1 };