]>
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(); | |
386b2e2f | 22 | |
7c679be0 | 23 | void FindJets (); |
7c679be0 | 24 | private: |
386b2e2f | 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; | |
1240edf5 | 29 | void DoubleClusters(Int_t nc, Int_t &nk, TVectorD *vPy, TMatrixD *mY) const; |
386b2e2f | 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); | |
7c679be0 | 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 | |
7c679be0 | 44 | Int_t fNin; // number of input data |
386b2e2f | 45 | Int_t fNeff; // total input data, including fakes |
36b5cc43 | 46 | |
386b2e2f | 47 | ClassDef(AliDAJetFinder,3) |
36b5cc43 | 48 | }; |
7c679be0 | 49 | #endif |