]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliDAJetFinder.h
fix memory leak and funny multiplicity
[u/mrichter/AliRoot.git] / JETAN / AliDAJetFinder.h
1 #ifndef ALIDAJETFINDER_H
2 #define ALIDAJETFINDER_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //---------------------------------------------------------------------
8 //Jet finder based on Deterministic Annealing
9 //Author: Davide Perrino (davide.perrino@ba.infn.it)
10 //---------------------------------------------------------------------
11
12 #include <AliJetFinder.h>
13 #include <TMatrixD.h>
14 #include <TVectorD.h>
15 class AliDAJetHeader;
16
17 class AliDAJetFinder : public AliJetFinder
18 {
19 public:
20     AliDAJetFinder();
21     virtual  ~AliDAJetFinder();
22     
23     void FindJets      ();
24  private:
25     void InitDetAnn    (Double_t &dEtSum,Double_t **xData,TVectorD *px,TVectorD *py,TMatrixD *pyx,TMatrixD *y);
26     void Annealing     (Int_t nk,Double_t **xData,TVectorD *vPx,TVectorD *vPy,TMatrixD *mPyx,TMatrixD *mY);
27     void NumCl         (Int_t &nc,Int_t &nk,TVectorD *vPy,TMatrixD *mPyx,TMatrixD *mY);
28     void ReduceClusters(Int_t **iSame,Int_t nc,Int_t &ncout,Int_t **cont,Int_t *nSameOut);
29     void DoubleClusters(Int_t nc,Int_t &nk,TVectorD *vPy,TMatrixD *mY);
30     void EndDetAnn     (Int_t &nk,Double_t **xData,Int_t *xx,Double_t etx,TVectorD *px,TVectorD *py,TMatrixD *pyx,TMatrixD *y);
31     void StoreJets     (Int_t nk,Double_t **xData,Int_t *xx,TMatrixD *mY);
32
33 protected:
34     AliDAJetFinder(const AliDAJetFinder &jf);
35     AliDAJetFinder& operator=(const AliDAJetFinder &jf);
36     Double_t   fAlpha;                                  // beta increment
37     Double_t   fDelta;                                  // perturbation proportional to Delta
38     Double_t   fAvDist;                                 // minimum distance to distinguish two clusters
39     Double_t   fEps;                                    // convergence criterium below max number of loops
40     Double_t   fEpsMax;                                 // convergence criterium above max number of loops
41     Int_t      fNloopMax;                               // maximum number of loops at a fixed beta
42     Double_t   fBeta;                                   // increasing multiplier of entropy
43     Int_t      fNclustMax;                              // maximum number of clusters to find
44     Int_t      fNin;                                    // number of input data
45
46     ClassDef(AliDAJetFinder,2)
47 };
48 #endif