1 #ifndef ALIEMCALTRACKSEGMENTMAKERV1_H
2 #define ALIEMCALTRACKSEGMENTMAKERV1_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 //_________________________________________________________________________
9 // Implementation version 1 of algorithm class to construct EMCAL track segments
10 // Associates EMC and PPSD clusters
11 // Unfolds the EMC cluster
13 //*-- Author: Dmitri Peressounko (RRC Ki & SUBATECH) & Yves Schutz (SUBATECH)
15 // --- ROOT system ---
17 // --- Standard library ---
19 // --- AliRoot header files ---
20 #include "AliEMCALTrackSegmentMaker.h"
22 class AliEMCALTowerRecPoint ;
24 class AliEMCALTrackSegmentMakerv1 : public AliEMCALTrackSegmentMaker {
28 AliEMCALTrackSegmentMakerv1() ;
29 AliEMCALTrackSegmentMakerv1(const TString alirunFileNameFile, const TString eventFolderName = AliConfig::fgkDefaultEventFolderName);
30 AliEMCALTrackSegmentMakerv1(const AliEMCALTrackSegmentMakerv1 & tsm) {
31 // cpy ctor: no implementation yet
32 // requested by the Coding Convention
33 Fatal("cpy ctor", "not implemented") ;
36 virtual ~ AliEMCALTrackSegmentMakerv1() ; // dtor
38 virtual const Int_t GetTrackSegmentsInRun()const {return fTrackSegmentsInRun ;}
40 virtual void Exec(Option_t * option) ;
41 Float_t HowClose(AliEMCALTowerRecPoint * ec, AliEMCALTowerRecPoint * rp, Bool_t &toofar) const ;
42 void MakeLinks() const; //Evaluates distances(links) between PRE/EC/HC recpoints
43 void MakePairs() ; //Finds pairs(triplets) with smallest link
44 virtual void Print(Option_t * option) const ;
45 virtual const char * Version() const { return "tsm-v1" ; }
47 AliEMCALTrackSegmentMakerv1 & operator = (const AliEMCALTrackSegmentMakerv1 & ) {
48 // assignement operator requested by coding convention but not needed
49 Fatal("operator =", "not implemented") ;
56 const TString BranchName() const ;
58 void InitParameters() ;
59 void PrintTrackSegments(Option_t *option) ;
61 virtual void WriteTrackSegments(Int_t event) ;
65 Float_t fClose ; // Spread within which 2 recpoints are declared to have the same direction
66 Bool_t fDefaultInit ; //! Says if the task was created by defaut ctor (only parameters are initialized)
67 Int_t fNTrackSegments ; // number of track segments found
68 TClonesArray * fPRELinkArray ;//! Contains the links ECAL-PRE
69 TClonesArray * fHCALinkArray ;//! Contains the links ECAL-HCAL
70 Int_t fTrackSegmentsInRun ; //! Total number of track segments in one run
72 ClassDef( AliEMCALTrackSegmentMakerv1,2) // Implementation version 1 of algorithm class to make EMCAL track segments
76 #endif // AliEMCALTRACKSEGMENTMAKERV1_H