Warnings corrected.
[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);
26     void Annealing     (Int_t nk);
27     void NumCl         (Int_t &nc,Int_t &nk);
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);
30     void EndDetAnn     (Int_t &nk,Int_t *xx,Double_t etx);
31     void StoreJets     (Int_t nk,Int_t *xx);
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     TMatrixD  *fPyx;                                    // conditional probability matrix
45     TMatrixD  *fY;                                      // clusters matrix
46     TVectorD  *fPx;                                     // input data weights
47     TVectorD  *fPy;                                     // clusters' probability
48     Double_t  *fXEta;                                   // input data eta coordinate
49     Double_t  *fXPhi;                                   // input data phi coordinate
50     Int_t      fNin;                                    // number of input data
51     ClassDef(AliDAJetFinder,1)
52 };// 
53 #endif