]>
Commit | Line | Data |
---|---|---|
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) const; | |
29 | void DoubleClusters(Int_t nc,Int_t &nk, TVectorD *vPy, TMatrixD *mY) const; | |
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 |