ROOT logo
/************************************************************************* 
* Copyright(c) 1998-2048, ALICE Experiment at CERN, All rights reserved. * 
*                                                                        * 
* Author: The ALICE Off-line Project.                                    * 
* Contributors are mentioned in the code where appropriate.              * 
*                                                                        * 
* Permission to use, copy, modify and distribute this software and its   * 
* documentation strictly for non-commercial purposes is hereby granted   * 
* without fee, provided that the above copyright notice appears in all   * 
* copies and that both the copyright notice and this permission notice   * 
* appear in the supporting documentation. The authors make no claims     * 
* about the suitability of this software for any purpose. It is          * 
* provided "as is" without express or implied warranty.                  * 
**************************************************************************/

// Author: Dariusz Miskowiec <mailto:d.miskowiec@gsi.de> 2007

//=============================================================================
// event global variable analyzer
// Histogram the event variables like multiplicity, flow vector, vertex z, 
// etc. 
//=============================================================================

#include <TROOT.h>
#include <TH1.h>
#include <TH2.h>
#include "AliUnicorEvent.h"
#include "AliUnicorAnalGlobal.h"

class TH2;
ClassImp(AliUnicorAnalGlobal)
  
//=============================================================================
AliUnicorAnalGlobal::AliUnicorAnalGlobal(const char *nam) : AliUnicorAnal(nam) 
{
  // constructor

  TH1D *mult = new TH1D("mult","mult",5000,-0.5,4999.5);
  mult->SetXTitle("multiplicity");
  TH1D *cent = new TH1D("cent","cent",100,0,1);
  cent->SetXTitle("centrality");
  TH2D *cemu = new TH2D("cemu","cemu",100,0,1,5000,-0.5,4999.5);
  cemu->SetXTitle("centrality");
  cemu->SetYTitle("Nch");
  TH2D *dire = new TH2D("dire","dire",160,-40,40,160,-40,40);
  dire->SetXTitle("Qx (GeV)");
  dire->SetYTitle("Qy (GeV)");
  TH1D *zver = new TH1D("zver","zver",120,-1.2,1.2);
  zver->SetXTitle("normalized z-vertex");
  fHistos.Add(mult);
  fHistos.Add(cent);
  fHistos.Add(cemu);
  fHistos.Add(dire);
  fHistos.Add(zver);
  gROOT->cd();
}
//=============================================================================
void AliUnicorAnalGlobal::Process(AliUnicorEvent *ev) const
{
  // fill event variable histograms

  TH1D *mult = (TH1D*) fHistos.At(0);
  TH1D *cent = (TH1D*) fHistos.At(1);
  TH2D *cemu = (TH2D*) fHistos.At(2);
  TH2D *dire = (TH2D*) fHistos.At(3);
  TH1D *zver = (TH1D*) fHistos.At(4);

  double n = ev->NGoodParticles();
  mult->Fill(n,1.0);
  cent->Fill(ev->Centrality(),1.0);
  cemu->Fill(ev->Centrality(),n);
  Double_t qx=0,qy=0;
  ev->RP(qx,qy);
  dire->Fill(qx,qy,1.0);
  zver->Fill(ev->Zver(),1.0);
}
//=============================================================================
 AliUnicorAnalGlobal.cxx:1
 AliUnicorAnalGlobal.cxx:2
 AliUnicorAnalGlobal.cxx:3
 AliUnicorAnalGlobal.cxx:4
 AliUnicorAnalGlobal.cxx:5
 AliUnicorAnalGlobal.cxx:6
 AliUnicorAnalGlobal.cxx:7
 AliUnicorAnalGlobal.cxx:8
 AliUnicorAnalGlobal.cxx:9
 AliUnicorAnalGlobal.cxx:10
 AliUnicorAnalGlobal.cxx:11
 AliUnicorAnalGlobal.cxx:12
 AliUnicorAnalGlobal.cxx:13
 AliUnicorAnalGlobal.cxx:14
 AliUnicorAnalGlobal.cxx:15
 AliUnicorAnalGlobal.cxx:16
 AliUnicorAnalGlobal.cxx:17
 AliUnicorAnalGlobal.cxx:18
 AliUnicorAnalGlobal.cxx:19
 AliUnicorAnalGlobal.cxx:20
 AliUnicorAnalGlobal.cxx:21
 AliUnicorAnalGlobal.cxx:22
 AliUnicorAnalGlobal.cxx:23
 AliUnicorAnalGlobal.cxx:24
 AliUnicorAnalGlobal.cxx:25
 AliUnicorAnalGlobal.cxx:26
 AliUnicorAnalGlobal.cxx:27
 AliUnicorAnalGlobal.cxx:28
 AliUnicorAnalGlobal.cxx:29
 AliUnicorAnalGlobal.cxx:30
 AliUnicorAnalGlobal.cxx:31
 AliUnicorAnalGlobal.cxx:32
 AliUnicorAnalGlobal.cxx:33
 AliUnicorAnalGlobal.cxx:34
 AliUnicorAnalGlobal.cxx:35
 AliUnicorAnalGlobal.cxx:36
 AliUnicorAnalGlobal.cxx:37
 AliUnicorAnalGlobal.cxx:38
 AliUnicorAnalGlobal.cxx:39
 AliUnicorAnalGlobal.cxx:40
 AliUnicorAnalGlobal.cxx:41
 AliUnicorAnalGlobal.cxx:42
 AliUnicorAnalGlobal.cxx:43
 AliUnicorAnalGlobal.cxx:44
 AliUnicorAnalGlobal.cxx:45
 AliUnicorAnalGlobal.cxx:46
 AliUnicorAnalGlobal.cxx:47
 AliUnicorAnalGlobal.cxx:48
 AliUnicorAnalGlobal.cxx:49
 AliUnicorAnalGlobal.cxx:50
 AliUnicorAnalGlobal.cxx:51
 AliUnicorAnalGlobal.cxx:52
 AliUnicorAnalGlobal.cxx:53
 AliUnicorAnalGlobal.cxx:54
 AliUnicorAnalGlobal.cxx:55
 AliUnicorAnalGlobal.cxx:56
 AliUnicorAnalGlobal.cxx:57
 AliUnicorAnalGlobal.cxx:58
 AliUnicorAnalGlobal.cxx:59
 AliUnicorAnalGlobal.cxx:60
 AliUnicorAnalGlobal.cxx:61
 AliUnicorAnalGlobal.cxx:62
 AliUnicorAnalGlobal.cxx:63
 AliUnicorAnalGlobal.cxx:64
 AliUnicorAnalGlobal.cxx:65
 AliUnicorAnalGlobal.cxx:66
 AliUnicorAnalGlobal.cxx:67
 AliUnicorAnalGlobal.cxx:68
 AliUnicorAnalGlobal.cxx:69
 AliUnicorAnalGlobal.cxx:70
 AliUnicorAnalGlobal.cxx:71
 AliUnicorAnalGlobal.cxx:72
 AliUnicorAnalGlobal.cxx:73
 AliUnicorAnalGlobal.cxx:74
 AliUnicorAnalGlobal.cxx:75
 AliUnicorAnalGlobal.cxx:76
 AliUnicorAnalGlobal.cxx:77