JETAN module
[u/mrichter/AliRoot.git] / JETAN / JETAN / AliDAJetFinder.h
CommitLineData
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
23class 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