ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoCutMonitorParticleEtCorr - the cut monitor for particles           //
// which saves particles' et histogram and makes the bin-by-bin correlation   //
//                                                                            //
// Author: Adam.Kisiel@cern.ch                                                //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
#ifndef AliFemtoCutMonitorParticleEtCorr_hh
#define AliFemtoCutMonitorParticleEtCorr_hh

class AliFemtoEvent;
class AliFemtoTrack;
class AliFemtoV0;
class AliFemtoKink;
class AliFemtoPair; // Gael 12/04/02
class TH1D;
class TH2D;
class TList;
#include "AliFemtoString.h"
#include "AliFemtoParticleCollection.h"
#include "AliFemtoCutMonitor.h"

class AliFemtoCutMonitorParticleEtCorr : public AliFemtoCutMonitor{
  
public:
  AliFemtoCutMonitorParticleEtCorr();
  AliFemtoCutMonitorParticleEtCorr(const char *aName, int aPhiBins);
  AliFemtoCutMonitorParticleEtCorr(const AliFemtoCutMonitorParticleEtCorr &aCut);
  virtual ~AliFemtoCutMonitorParticleEtCorr();

  AliFemtoCutMonitorParticleEtCorr& operator=(const AliFemtoCutMonitorParticleEtCorr& aCut);

  virtual void EventBegin(const AliFemtoEvent* aEvent);
  virtual void EventEnd(const AliFemtoEvent* aEvent);

  virtual AliFemtoString Report();
  virtual void Fill(const AliFemtoEvent* aEvent) {AliFemtoCutMonitor::Fill(aEvent);}
  virtual void Fill(const AliFemtoTrack* aTrack);
  virtual void Fill(const AliFemtoV0* aV0) {AliFemtoCutMonitor::Fill(aV0);}
  virtual void Fill(const AliFemtoKink* aKink) {AliFemtoCutMonitor::Fill(aKink);}
  virtual void Fill(const AliFemtoPair* aPair) {AliFemtoCutMonitor::Fill(aPair);}
  virtual void Fill(const AliFemtoParticleCollection* aCollection) {AliFemtoCutMonitor::Fill(aCollection);}
  virtual void Fill(const AliFemtoEvent* aEvent,const AliFemtoParticleCollection* aCollection)
  {AliFemtoCutMonitor::Fill(aEvent, aCollection);}
  virtual void Fill(const AliFemtoParticleCollection* aCollection1,const AliFemtoParticleCollection* aCollection2) {AliFemtoCutMonitor::Fill(aCollection1, aCollection2);}

  void Write();

  virtual TList *GetOutputList();

private:
  Double_t fPtSumEvent[200];      // A table where Pt sum per event is stored
  Double_t fMultSumEvent[200];    // A table where mult sum per event is stored
  Int_t    fPhiBins;              // Number of Phi bins
  TH1D    *fPtPerPhi;             // Histogram storing per-bin sum pt
  TH2D    *fPtCovPerPhi;          // Histogram storing per-bin covariance
  TH2D    *fPtMultPerPhi;         // Histogram storing per-bin multiplicity
  Int_t    fNEventsProcessed;     // Count processed events
};

#endif
 AliFemtoCutMonitorParticleEtCorr.h:1
 AliFemtoCutMonitorParticleEtCorr.h:2
 AliFemtoCutMonitorParticleEtCorr.h:3
 AliFemtoCutMonitorParticleEtCorr.h:4
 AliFemtoCutMonitorParticleEtCorr.h:5
 AliFemtoCutMonitorParticleEtCorr.h:6
 AliFemtoCutMonitorParticleEtCorr.h:7
 AliFemtoCutMonitorParticleEtCorr.h:8
 AliFemtoCutMonitorParticleEtCorr.h:9
 AliFemtoCutMonitorParticleEtCorr.h:10
 AliFemtoCutMonitorParticleEtCorr.h:11
 AliFemtoCutMonitorParticleEtCorr.h:12
 AliFemtoCutMonitorParticleEtCorr.h:13
 AliFemtoCutMonitorParticleEtCorr.h:14
 AliFemtoCutMonitorParticleEtCorr.h:15
 AliFemtoCutMonitorParticleEtCorr.h:16
 AliFemtoCutMonitorParticleEtCorr.h:17
 AliFemtoCutMonitorParticleEtCorr.h:18
 AliFemtoCutMonitorParticleEtCorr.h:19
 AliFemtoCutMonitorParticleEtCorr.h:20
 AliFemtoCutMonitorParticleEtCorr.h:21
 AliFemtoCutMonitorParticleEtCorr.h:22
 AliFemtoCutMonitorParticleEtCorr.h:23
 AliFemtoCutMonitorParticleEtCorr.h:24
 AliFemtoCutMonitorParticleEtCorr.h:25
 AliFemtoCutMonitorParticleEtCorr.h:26
 AliFemtoCutMonitorParticleEtCorr.h:27
 AliFemtoCutMonitorParticleEtCorr.h:28
 AliFemtoCutMonitorParticleEtCorr.h:29
 AliFemtoCutMonitorParticleEtCorr.h:30
 AliFemtoCutMonitorParticleEtCorr.h:31
 AliFemtoCutMonitorParticleEtCorr.h:32
 AliFemtoCutMonitorParticleEtCorr.h:33
 AliFemtoCutMonitorParticleEtCorr.h:34
 AliFemtoCutMonitorParticleEtCorr.h:35
 AliFemtoCutMonitorParticleEtCorr.h:36
 AliFemtoCutMonitorParticleEtCorr.h:37
 AliFemtoCutMonitorParticleEtCorr.h:38
 AliFemtoCutMonitorParticleEtCorr.h:39
 AliFemtoCutMonitorParticleEtCorr.h:40
 AliFemtoCutMonitorParticleEtCorr.h:41
 AliFemtoCutMonitorParticleEtCorr.h:42
 AliFemtoCutMonitorParticleEtCorr.h:43
 AliFemtoCutMonitorParticleEtCorr.h:44
 AliFemtoCutMonitorParticleEtCorr.h:45
 AliFemtoCutMonitorParticleEtCorr.h:46
 AliFemtoCutMonitorParticleEtCorr.h:47
 AliFemtoCutMonitorParticleEtCorr.h:48
 AliFemtoCutMonitorParticleEtCorr.h:49
 AliFemtoCutMonitorParticleEtCorr.h:50
 AliFemtoCutMonitorParticleEtCorr.h:51
 AliFemtoCutMonitorParticleEtCorr.h:52
 AliFemtoCutMonitorParticleEtCorr.h:53
 AliFemtoCutMonitorParticleEtCorr.h:54
 AliFemtoCutMonitorParticleEtCorr.h:55
 AliFemtoCutMonitorParticleEtCorr.h:56
 AliFemtoCutMonitorParticleEtCorr.h:57
 AliFemtoCutMonitorParticleEtCorr.h:58
 AliFemtoCutMonitorParticleEtCorr.h:59
 AliFemtoCutMonitorParticleEtCorr.h:60
 AliFemtoCutMonitorParticleEtCorr.h:61
 AliFemtoCutMonitorParticleEtCorr.h:62