]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AliMCEventHandler.h
Applying line fit to trigger record hits to get better idea of where the track traver...
[u/mrichter/AliRoot.git] / STEER / AliMCEventHandler.h
... / ...
CommitLineData
1// -*- mode: C++ -*-
2#ifndef ALIMCEVENTHANDLER_H
3#define ALIMCEVENTHANDLER_H
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7
8/* $Id$ */
9
10//-------------------------------------------------------------------------
11// Class AliMCEvent
12// This class gives access to MC truth during the analysis.
13// Monte Carlo truth is containe in the kinematics tree (produced particles) and
14// the tree of reference hits.
15//
16// Origin: Andreas Morsch, CERN, andreas.morsch@cern.ch
17//-------------------------------------------------------------------------
18
19#include "AliVEventHandler.h"
20#include "AliHeader.h"
21class TFile;
22class TTree;
23class TParticle;
24class TString;
25class TClonesArray;
26class TDirectoryFile;
27
28class AliHeader;
29class AliGenEventHeader;
30class AliStack;
31
32
33class AliMCEventHandler : public AliVEventHandler
34{
35public:
36 AliMCEventHandler();
37 AliMCEventHandler(const char* name, const char* title);
38 virtual ~AliMCEventHandler();
39 virtual void SetOutputFileName(char* /* fname */) {;}
40 virtual char* GetOutputFileName() {return 0;}
41 virtual void SetInputPath(char* fname);
42 virtual TString* GetInputPath() {return fPathName;}
43 virtual Bool_t InitIO(Option_t* opt);
44 virtual Bool_t BeginEvent();
45 virtual Bool_t Notify(const char* path);
46 virtual Bool_t FinishEvent();
47 virtual Bool_t Terminate();
48 virtual Bool_t TerminateIO();
49 virtual void ResetIO();
50 virtual Bool_t GetEvent(Int_t iev);
51 //
52 AliStack* Stack() {return fStack;}
53 AliHeader* Header() {return fHeader;}
54 AliGenEventHeader* GenEventHeader() {return (fHeader->GenEventHeader());}
55 TTree* TreeTR() {return fTreeTR;}
56 Int_t GetParticleAndTR(Int_t i, TParticle*& particle, TClonesArray*& trefs);
57 void DrawCheck(Int_t i, Int_t search=0);
58private:
59 Bool_t OpenFile(Int_t i);
60 void ReorderAndExpandTreeTR();
61
62private:
63 TFile *fFileE; //! File with TreeE
64 TFile *fFileK; //! File with TreeK
65 TFile *fFileTR; //! File with TreeTR
66 TFile *fTmpFileTR; //! Temporary file with TreeTR to read old format
67 TTree *fTreeE; //! TreeE (Event Headers)
68 TTree *fTreeK; //! TreeK (kinematics tree)
69 TTree *fTreeTR; //! TreeTR (track references tree)
70 TTree *fTmpTreeTR; //! Temporary tree TR to read old format
71 TDirectoryFile *fDirK; //! Directory for Kine Tree
72 TDirectoryFile *fDirTR; //! Directory for TR Tree
73 AliStack *fStack; //! Current pointer to stack
74 AliHeader *fHeader; //! Current pointer to header
75 TClonesArray *fTrackReferences; //! Current list of track references
76 Int_t fNEvent; //! Number of events
77 Int_t fEvent; //! Current event
78 Int_t fNprimaries; //! Number of primaries
79 Int_t fNparticles; //! Number of particles
80 TString *fPathName; //! Input file path
81 char *fExtension; //! File name extension
82 Int_t fFileNumber; //! Input file number
83 Int_t fEventsPerFile; //! Number of events per file
84 ClassDef(AliMCEventHandler,1) //MC Truth EventHandler class
85};
86#endif
87