]>
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 | ||
139cbd96 | 7 | /* $Id$ */ |
8 | ||
7c679be0 | 9 | //--------------------------------------------------------------------- |
10 | //Jet finder based on Deterministic Annealing | |
11 | //Author: Davide Perrino (davide.perrino@ba.infn.it) | |
139cbd96 | 12 | // magali.estienne@subatech.in2p3.fr & |
13 | // alexandre.shabetai@cern.ch (Modification of the input object (reader/finder splitting)) | |
14 | // ** 2011 | |
15 | // Modified accordingly to reader/finder splitting and new handling of neutral information | |
7c679be0 | 16 | //--------------------------------------------------------------------- |
17 | ||
139cbd96 | 18 | #include "AliJetFinder.h" |
19 | ||
7c679be0 | 20 | #include <TMatrixD.h> |
21 | #include <TVectorD.h> | |
7c679be0 | 22 | |
23 | class AliDAJetFinder : public AliJetFinder | |
24 | { | |
139cbd96 | 25 | public: |
26 | AliDAJetFinder(); | |
27 | virtual ~AliDAJetFinder(); | |
28 | ||
29 | void FindJets (); | |
30 | ||
31 | protected: | |
32 | Double_t fAlpha; // beta increment | |
33 | Double_t fDelta; // perturbation proportional to Delta | |
34 | Double_t fAvDist; // minimum distance to distinguish two clusters | |
35 | Double_t fEps; // convergence criterium below max number of loops | |
36 | Double_t fEpsMax; // convergence criterium above max number of loops | |
37 | Int_t fNloopMax; // maximum number of loops at a fixed beta | |
38 | Double_t fBeta; // increasing multiplier of entropy | |
39 | Int_t fNclustMax; // maximum number of clusters to find | |
40 | Int_t fNin; // number of input data | |
41 | Int_t fNeff; // total input data, including fakes | |
386b2e2f | 42 | |
7c679be0 | 43 | private: |
139cbd96 | 44 | void InitDetAnn (Double_t &dEtSum, Double_t **xData, TVectorD *px, TVectorD *py, TMatrixD *pyx, TMatrixD *y); |
45 | void Annealing (Int_t nk, Double_t **xData, const TVectorD *vPx, TVectorD *vPy, TMatrixD *mPyx, TMatrixD *mY); | |
46 | void NumCl (Int_t &nc, Int_t &nk, TVectorD *vPy, TMatrixD *mPyx, TMatrixD *mY); | |
47 | void ReduceClusters(Int_t **iSame, Int_t nc, Int_t &ncout, Int_t **cont, Int_t *nSameOut) const; | |
48 | void DoubleClusters(Int_t nc, Int_t &nk, TVectorD *vPy, TMatrixD *mY) const; | |
49 | void EndDetAnn (Int_t &nk, Double_t **xData, Int_t *xx, Double_t etx, const TVectorD *px, TVectorD *py, TMatrixD *pyx, TMatrixD *y); | |
50 | void StoreJets (Int_t nk, Double_t **xData, const Int_t *xx, const TMatrixD *mY); | |
51 | ||
52 | ClassDef(AliDAJetFinder,4) // DA Jet finder | |
53 | ||
36b5cc43 | 54 | }; |
139cbd96 | 55 | |
7c679be0 | 56 | #endif |