]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGDQ/dielectron/AliDielectronEvent.h
including switch to set on/off iso-track core removal, cleaning and bug fix
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / AliDielectronEvent.h
1 #ifndef ALIDIELECTRONEVENT_H
2 #define ALIDIELECTRONEVENT_H
3
4 /* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 //#############################################################
8 //#                                                           # 
9 //#         Class AliDielectronEvent                     #
10 //#                                                           #
11 //#  Authors:                                                 #
12 //#   Jens      Wiechula, Uni Tübingen / Jens.Wiechula@cern.ch      #
13 //#                                                           #
14 //#############################################################
15
16 #include <TNamed.h>
17 #include <TClonesArray.h>
18
19 #include "AliDielectronVarManager.h"
20
21
22 class TObjArray;
23 class TProcessID;
24
25 class AliDielectronEvent : public TNamed {
26 public:
27   AliDielectronEvent();
28   AliDielectronEvent(const char*name, const char* title);
29
30   virtual ~AliDielectronEvent();
31
32   void SetESD();
33   void SetAOD(Int_t size=1000);
34   Bool_t IsAOD() const { return fIsAOD; }
35
36   void SetTracks(const TObjArray &arrP, const TObjArray &arrN, const TObjArray &arrPairs);
37   void SetEventData(const Double_t data[AliDielectronVarManager::kNMaxValues]);
38   const Double_t* GetEventData() const {return fEventData;}
39   
40   const TClonesArray* GetTrackArrayP() const { return &fArrTrackP; }
41   const TClonesArray* GetTrackArrayN() const { return &fArrTrackN; }
42   const TClonesArray* GetVertexArray() const { return &fArrVertex; }
43
44   Int_t GetNTracksP() const { return fNTracksP; }
45   Int_t GetNTracksN() const { return fNTracksN; }
46
47   void SetProcessID(TProcessID *pid) { fPID=pid;    }
48   const TProcessID* GetProcessID()   { return fPID; }
49   
50 virtual void Clear(Option_t *opt="C");
51
52
53 private:
54   TClonesArray fArrTrackP;      //positive tracks
55   TClonesArray fArrTrackN;      //negative tracks
56   TClonesArray fArrVertex;      //track vertices
57
58   TClonesArray fArrPairs;       //Pair array
59
60   Int_t fNTracksP;              //number of positive tracks
61   Int_t fNTracksN;              //number of negative tracks
62
63   Bool_t fIsAOD;                // if we deal with AODs
64
65   Double_t fEventData[AliDielectronVarManager::kNMaxValues]; // event informaion from the var manager
66
67   TProcessID *fPID;             //! internal PID for references to buffered objects
68   UInt_t      fPIDIndex;        //! index of PID
69
70   AliDielectronEvent(const AliDielectronEvent &c);
71   AliDielectronEvent &operator=(const AliDielectronEvent &c);
72
73   void AssignID(TObject *obj);
74   
75   ClassDef(AliDielectronEvent,1)         // Dielectron Event
76 };
77
78
79
80 #endif