ROOT logo
#ifndef ALICHAOTICITYEVENTCOLLECTION
#define ALICHAOTICITYEVENTCOLLECTION

#include <iostream>
#include <string>
#include "TH1.h"
#include "TH2.h"
#include "TH3.h"
#include "TBits.h"
#include "TObject.h"
#include "TVector2.h"
#include "AliESDtrack.h"

using namespace std;


class AliChaoticityTrackStruct{// detector tracks
  
 public:
  AliChaoticityTrackStruct();
  virtual ~AliChaoticityTrackStruct();
  AliChaoticityTrackStruct(const AliChaoticityTrackStruct &obj); 
  AliChaoticityTrackStruct &operator=(const AliChaoticityTrackStruct &obj);


  UInt_t fStatus;
  UInt_t fFiltermap;
  Int_t fId;
  Double_t fPhi;
  Float_t fPt;
  Float_t fMom;
  Double_t fP[3];
  Int_t fCharge;
  Float_t fEta;
  Float_t fMass;
  Float_t fDCAXY;
  Float_t fDCAZ;
  Float_t fDCA;
  Float_t fEaccepted;
  Short_t fKey;
  TBits fClusterMap;
  TBits fSharedMap;
  Double_t fX[3];
  Bool_t fTOFhit;
  Bool_t fElectron;
  Bool_t fMuon;
  Bool_t fPion;
  Bool_t fKaon;
  Bool_t fProton;
  Int_t fLabel;// MC

  ClassDef(AliChaoticityTrackStruct, 1);
};

class AliChaoticityPairStruct{// low Qinv pairs

 public:
  AliChaoticityPairStruct();
  virtual ~AliChaoticityPairStruct();
  AliChaoticityPairStruct(const AliChaoticityPairStruct &obj); 
  AliChaoticityPairStruct &operator=(const AliChaoticityPairStruct &obj);

  Float_t fP1[3];
  Float_t fP2[3];
  Float_t fE1;
  Float_t fE2;
  Short_t fCharge1;
  Short_t fCharge2;
  Int_t fIndex1;
  Int_t fIndex2;
  Float_t fQinv;
  Short_t fKey1;
  Short_t fKey2;
  Int_t fLabel1;
  Int_t fLabel2;
  Float_t fP1MC[3];
  Float_t fP2MC[3];

  ClassDef(AliChaoticityPairStruct, 1);
};

class AliChaoticityNormPairStruct{// Norm Qinv pairs

 public:
  AliChaoticityNormPairStruct();
  virtual ~AliChaoticityNormPairStruct();
  AliChaoticityNormPairStruct(const AliChaoticityNormPairStruct &obj); 
  AliChaoticityNormPairStruct &operator=(const AliChaoticityNormPairStruct &obj);

  Short_t fCharge1;
  Short_t fCharge2;
  Int_t fIndex1;
  Int_t fIndex2;
  Short_t fKey1;
  Short_t fKey2;

  ClassDef(AliChaoticityNormPairStruct, 1);
};

class AliChaoticityMCStruct{// MC info

 public:
  AliChaoticityMCStruct();
  virtual ~AliChaoticityMCStruct();
  AliChaoticityMCStruct(const AliChaoticityMCStruct &obj); 
  AliChaoticityMCStruct &operator=(const AliChaoticityMCStruct &obj);

  Float_t fPx;
  Float_t fPy;
  Float_t fPz;
  Float_t fPtot;

  ClassDef(AliChaoticityMCStruct, 1);
};

class AliChaoticityEventStruct{// like particle_event
  
 public:
  AliChaoticityEventStruct();
  virtual ~AliChaoticityEventStruct();
  AliChaoticityEventStruct(const AliChaoticityEventStruct &obj); 
  AliChaoticityEventStruct &operator=(const AliChaoticityEventStruct &obj);


  Int_t fFillStatus;
  Int_t fNtracks;
  Int_t fNpairsSE;
  Int_t fNpairsME;
  Int_t fMCarraySize;
  AliChaoticityTrackStruct *fTracks;
  AliChaoticityPairStruct *fPairsSE;
  AliChaoticityPairStruct *fPairsME;
  AliChaoticityMCStruct *fMCtracks;

  ClassDef(AliChaoticityEventStruct, 1);
};



class AliChaoticityEventCollection {
  
  public:
    AliChaoticityEventCollection();
    AliChaoticityEventCollection(Short_t,Int_t,Int_t,Int_t,Bool_t);
    virtual ~AliChaoticityEventCollection();
    AliChaoticityEventCollection(const AliChaoticityEventCollection &obj); 
    AliChaoticityEventCollection &operator=(const AliChaoticityEventCollection &obj);
   
    void FIFOShift();
    void SetBuffSize(Short_t a){fFIFO = a;}
 
    Short_t fFIFO; //Size of the Event Storage buffer.
    Int_t fLimit; //Max number of tracks
    Int_t fPairLimit; //Max number of lowQ pairs
    Int_t fMCLimit; //Max number of MC tracks
    AliChaoticityEventStruct *fEvtStr;

   ClassDef(AliChaoticityEventCollection, 1);
};
#endif
 AliChaoticityEventCollection.h:1
 AliChaoticityEventCollection.h:2
 AliChaoticityEventCollection.h:3
 AliChaoticityEventCollection.h:4
 AliChaoticityEventCollection.h:5
 AliChaoticityEventCollection.h:6
 AliChaoticityEventCollection.h:7
 AliChaoticityEventCollection.h:8
 AliChaoticityEventCollection.h:9
 AliChaoticityEventCollection.h:10
 AliChaoticityEventCollection.h:11
 AliChaoticityEventCollection.h:12
 AliChaoticityEventCollection.h:13
 AliChaoticityEventCollection.h:14
 AliChaoticityEventCollection.h:15
 AliChaoticityEventCollection.h:16
 AliChaoticityEventCollection.h:17
 AliChaoticityEventCollection.h:18
 AliChaoticityEventCollection.h:19
 AliChaoticityEventCollection.h:20
 AliChaoticityEventCollection.h:21
 AliChaoticityEventCollection.h:22
 AliChaoticityEventCollection.h:23
 AliChaoticityEventCollection.h:24
 AliChaoticityEventCollection.h:25
 AliChaoticityEventCollection.h:26
 AliChaoticityEventCollection.h:27
 AliChaoticityEventCollection.h:28
 AliChaoticityEventCollection.h:29
 AliChaoticityEventCollection.h:30
 AliChaoticityEventCollection.h:31
 AliChaoticityEventCollection.h:32
 AliChaoticityEventCollection.h:33
 AliChaoticityEventCollection.h:34
 AliChaoticityEventCollection.h:35
 AliChaoticityEventCollection.h:36
 AliChaoticityEventCollection.h:37
 AliChaoticityEventCollection.h:38
 AliChaoticityEventCollection.h:39
 AliChaoticityEventCollection.h:40
 AliChaoticityEventCollection.h:41
 AliChaoticityEventCollection.h:42
 AliChaoticityEventCollection.h:43
 AliChaoticityEventCollection.h:44
 AliChaoticityEventCollection.h:45
 AliChaoticityEventCollection.h:46
 AliChaoticityEventCollection.h:47
 AliChaoticityEventCollection.h:48
 AliChaoticityEventCollection.h:49
 AliChaoticityEventCollection.h:50
 AliChaoticityEventCollection.h:51
 AliChaoticityEventCollection.h:52
 AliChaoticityEventCollection.h:53
 AliChaoticityEventCollection.h:54
 AliChaoticityEventCollection.h:55
 AliChaoticityEventCollection.h:56
 AliChaoticityEventCollection.h:57
 AliChaoticityEventCollection.h:58
 AliChaoticityEventCollection.h:59
 AliChaoticityEventCollection.h:60
 AliChaoticityEventCollection.h:61
 AliChaoticityEventCollection.h:62
 AliChaoticityEventCollection.h:63
 AliChaoticityEventCollection.h:64
 AliChaoticityEventCollection.h:65
 AliChaoticityEventCollection.h:66
 AliChaoticityEventCollection.h:67
 AliChaoticityEventCollection.h:68
 AliChaoticityEventCollection.h:69
 AliChaoticityEventCollection.h:70
 AliChaoticityEventCollection.h:71
 AliChaoticityEventCollection.h:72
 AliChaoticityEventCollection.h:73
 AliChaoticityEventCollection.h:74
 AliChaoticityEventCollection.h:75
 AliChaoticityEventCollection.h:76
 AliChaoticityEventCollection.h:77
 AliChaoticityEventCollection.h:78
 AliChaoticityEventCollection.h:79
 AliChaoticityEventCollection.h:80
 AliChaoticityEventCollection.h:81
 AliChaoticityEventCollection.h:82
 AliChaoticityEventCollection.h:83
 AliChaoticityEventCollection.h:84
 AliChaoticityEventCollection.h:85
 AliChaoticityEventCollection.h:86
 AliChaoticityEventCollection.h:87
 AliChaoticityEventCollection.h:88
 AliChaoticityEventCollection.h:89
 AliChaoticityEventCollection.h:90
 AliChaoticityEventCollection.h:91
 AliChaoticityEventCollection.h:92
 AliChaoticityEventCollection.h:93
 AliChaoticityEventCollection.h:94
 AliChaoticityEventCollection.h:95
 AliChaoticityEventCollection.h:96
 AliChaoticityEventCollection.h:97
 AliChaoticityEventCollection.h:98
 AliChaoticityEventCollection.h:99
 AliChaoticityEventCollection.h:100
 AliChaoticityEventCollection.h:101
 AliChaoticityEventCollection.h:102
 AliChaoticityEventCollection.h:103
 AliChaoticityEventCollection.h:104
 AliChaoticityEventCollection.h:105
 AliChaoticityEventCollection.h:106
 AliChaoticityEventCollection.h:107
 AliChaoticityEventCollection.h:108
 AliChaoticityEventCollection.h:109
 AliChaoticityEventCollection.h:110
 AliChaoticityEventCollection.h:111
 AliChaoticityEventCollection.h:112
 AliChaoticityEventCollection.h:113
 AliChaoticityEventCollection.h:114
 AliChaoticityEventCollection.h:115
 AliChaoticityEventCollection.h:116
 AliChaoticityEventCollection.h:117
 AliChaoticityEventCollection.h:118
 AliChaoticityEventCollection.h:119
 AliChaoticityEventCollection.h:120
 AliChaoticityEventCollection.h:121
 AliChaoticityEventCollection.h:122
 AliChaoticityEventCollection.h:123
 AliChaoticityEventCollection.h:124
 AliChaoticityEventCollection.h:125
 AliChaoticityEventCollection.h:126
 AliChaoticityEventCollection.h:127
 AliChaoticityEventCollection.h:128
 AliChaoticityEventCollection.h:129
 AliChaoticityEventCollection.h:130
 AliChaoticityEventCollection.h:131
 AliChaoticityEventCollection.h:132
 AliChaoticityEventCollection.h:133
 AliChaoticityEventCollection.h:134
 AliChaoticityEventCollection.h:135
 AliChaoticityEventCollection.h:136
 AliChaoticityEventCollection.h:137
 AliChaoticityEventCollection.h:138
 AliChaoticityEventCollection.h:139
 AliChaoticityEventCollection.h:140
 AliChaoticityEventCollection.h:141
 AliChaoticityEventCollection.h:142
 AliChaoticityEventCollection.h:143
 AliChaoticityEventCollection.h:144
 AliChaoticityEventCollection.h:145
 AliChaoticityEventCollection.h:146
 AliChaoticityEventCollection.h:147
 AliChaoticityEventCollection.h:148
 AliChaoticityEventCollection.h:149
 AliChaoticityEventCollection.h:150
 AliChaoticityEventCollection.h:151
 AliChaoticityEventCollection.h:152
 AliChaoticityEventCollection.h:153
 AliChaoticityEventCollection.h:154
 AliChaoticityEventCollection.h:155
 AliChaoticityEventCollection.h:156
 AliChaoticityEventCollection.h:157
 AliChaoticityEventCollection.h:158
 AliChaoticityEventCollection.h:159
 AliChaoticityEventCollection.h:160