]>
Commit | Line | Data |
---|---|---|
7c679be0 | 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 | void SetJetHeader (AliDAJetHeader *h) {fHeader = h;} | |
25 | ||
26 | private: | |
27 | void InitDetAnn (Double_t &dEtSum); | |
28 | void Annealing (Int_t nk); | |
29 | void NumCl (Int_t &nc,Int_t &nk); | |
30 | void ReduceClusters(Int_t **iSame,Int_t nc,Int_t &ncout,Int_t **cont,Int_t *nSameOut); | |
31 | void DoubleClusters(Int_t nc,Int_t &nk); | |
32 | void EndDetAnn (Int_t &nk,Int_t *xx,Double_t etx); | |
33 | void StoreJets (Int_t nk,Int_t *xx); | |
34 | ||
35 | protected: | |
36 | AliDAJetFinder(const AliDAJetFinder &jf); | |
37 | AliDAJetFinder& operator=(const AliDAJetFinder &jf); | |
38 | Double_t fAlpha; // beta increment | |
39 | Double_t fDelta; // perturbation proportional to Delta | |
40 | Double_t fAvDist; // minimum distance to distinguish two clusters | |
41 | Double_t fEps; // convergence criterium below max number of loops | |
42 | Double_t fEpsMax; // convergence criterium above max number of loops | |
43 | Int_t fNloopMax; // maximum number of loops at a fixed beta | |
44 | Double_t fBeta; // increasing multiplier of entropy | |
45 | Int_t fNclustMax; // maximum number of clusters to find | |
46 | TMatrixD *fPyx; // conditional probability matrix | |
47 | TMatrixD *fY; // clusters matrix | |
48 | TVectorD *fPx; // input data weights | |
49 | TVectorD *fPy; // clusters' probability | |
50 | Double_t *fXEta; // input data eta coordinate | |
51 | Double_t *fXPhi; // input data phi coordinate | |
52 | Int_t fNin; // number of input data | |
53 | ||
54 | AliDAJetHeader *fHeader; // the header | |
55 | ||
56 | ClassDef(AliDAJetFinder,1) | |
57 | };// | |
58 | #endif |