ROOT logo
/* Copyright(c) 1998-2014, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice */

// Short comment describing what this class does needed!

// $Id: AliJEventHeader.h,v 1.1 2008/05/02 11:56:23 djkim Exp $
////////////////////////////////////////////////////
/*!
  \file AliJEventHeader.h
  \brief
  \author J. Rak, D.J.Kim, R.Diaz (University of Jyvaskyla)
  \email: djkim@jyu.fi
  \version $Revision: 1.1 $
  \date $Date: 2008/05/02 11:56:39 $

*/
////////////////////////////////////////////////////

#ifndef ALIJEVENTHEADER_H
#define ALIJEVENTHEADER_H

#ifndef ROOT_TObject
#include <TObject.h>
#endif

#include "AliJBaseEventHeader.h"

class AliJEventHeader : public AliJBaseEventHeader {
 public:

  enum { kcV0M, kcFMD, kcTRK, kcTKL, kcCL0, kcCL1, kcV0MvsFMD, kcTKLvsV0, kcZEMvsZDC, kcV0A, kcV0C, kcNTYPE };

  /*
   * V0M = V0 multiplicity
   * FMD = FMD raw multiplicity
   * TRK = N. of tracks
   * TKL = N. of tracklets
   * CL0 = N. of clusters in layer 0
   * CL1 = N. of clusters in layer 1
   * V0MvsFMD = correlation between V0 and FMD
   * TKLvsV0 = correlation between tracklets and V0
   * ZEMvsZDC = correlation between ZEM and ZDC 
   */
  AliJEventHeader();              // default constructor
  AliJEventHeader(int eventid,
                  float cent,
                  float vrtz,
                  ULong64_t triggmaskAli,
                  UInt_t triggmaskJC,
                  Int_t  refmult,
                  Int_t  refmult1,
                  Int_t  refmult2,
                  Float_t  v0mult,
                  Float_t  v0Amult,
                  Float_t  v0Cmult,
                  UInt_t eventType
                 );

  AliJEventHeader(const AliJEventHeader& a);                           

  virtual ~AliJEventHeader(){;}     // destructor

  ULong64_t  GetTriggerMaskAlice()   const {return fTriggerMaskAlice;}  
  UInt_t     GetTriggerMaskJCorran() const {return fTriggerMaskJCorran;}  
  Int_t      GetSPDTrackletMult()    const {return fSPDTrackletMult;}
  Int_t      GetITSSATrackletMult()    const {return fTrackletsITSSA;}
  Int_t      GetITSTPCTrackletMult()    const {return fTrackletsITSTPC;}
  UInt_t     GetEventType()          const {return fEventType;}
  Float_t    GetV0Mult()             const {return fV0Mult;}
  Float_t    GetV0AMult()             const {return fV0AMult;}
  Float_t    GetV0CMult()             const {return fV0CMult;}
  Int_t      GetVtxMult()            const { return fVtxMult; }
  UShort_t   GetBunchCrossNumber()   const { return fBunchCrossNumber; }

  Float_t GetCentralityArray( UInt_t it ) const { return it<kcNTYPE ? fCentralityArray[it] : -1; }

  void SetTriggerMaskAlice(ULong64_t mask) {fTriggerMaskAlice = mask;}
  void SetTriggerMaskJCorran(UInt_t mask) {fTriggerMaskJCorran = mask;}
  void SetSPDTrackletMult(Int_t ref) { fSPDTrackletMult = ref;}
  void SetITSSATrackletMult(Int_t ref)  { fTrackletsITSSA = ref;}
  void SetITSTPCTrackletMult(Int_t ref)  { fTrackletsITSTPC = ref;}
  void SetEventType(UInt_t eventype) {fEventType = eventype;}
  void SetV0Mult(Float_t multV0) {fV0Mult = multV0;}
  void SetV0AMult(Float_t multV0) {fV0AMult = multV0;}
  void SetV0CMult(Float_t multV0) {fV0CMult = multV0;}
  void SetVtxMult(Int_t m){ fVtxMult = m; };
  void SetCentralityArray(UInt_t it, Float_t cen ){ if( it < kcNTYPE ) fCentralityArray[it]=cen; }
  void SetBunchCrossNumber( UShort_t n ){ fBunchCrossNumber = n; }

  TString GetFiredTriggers() const { return fFiredTriggers; }
  void SetFiredTriggers(TString s){ fFiredTriggers=s; }

  AliJEventHeader&  operator=(const AliJEventHeader& header);

  TString GetESDFileName() const { return fESDFileName; }
  void SetESDFileName(TString s){ fESDFileName=s; }
  Int_t GetEventNumberESDFile() const { return fEventNumberESDFile; }
  void SetEventNumberESDFile(Int_t s){ fEventNumberESDFile=s; }

  void SetL0TriggerInputs(UInt_t n) {fL0TriggerInputs=n;}
  UInt_t      GetL0TriggerInputs() const {return fL0TriggerInputs;}  


 private:

  ULong64_t   fTriggerMaskAlice;           //Alice Trigger MASK
  UInt_t      fTriggerMaskJCorran;         // JCorran Trigger MASK
  Int_t       fSPDTrackletMult;             //SPD tracklet multiplicity
  Int_t       fTrackletsITSTPC;           // Multiplicity ITS and TPC
  Int_t       fTrackletsITSSA;            // Multiplicity ITS standalone + ITS
  Double32_t   fV0Mult;                   // VZERO multiplicity
  Double32_t   fV0AMult;                   // VZERO multiplicity
  Double32_t   fV0CMult;                   // VZERO multiplicity
  UInt_t      fEventType;                 // Type of Event
  TString     fFiredTriggers;       // String with fired triggers from AOD
  Int_t       fVtxMult;                   //FK// EFF number of vertex contributors 
  Double32_t  fCentralityArray[kcNTYPE];  //?//
  UShort_t    fBunchCrossNumber;   // bunch crossing identifier
  TString   fESDFileName;          // file name for the ESD file
  Int_t     fEventNumberESDFile;   // Number of event in the ESD file
  UInt_t    fL0TriggerInputs;    //L0 Trigger Inputs (mask)

  ClassDef(AliJEventHeader,3)

};

#endif
 AliJEventHeader.h:1
 AliJEventHeader.h:2
 AliJEventHeader.h:3
 AliJEventHeader.h:4
 AliJEventHeader.h:5
 AliJEventHeader.h:6
 AliJEventHeader.h:7
 AliJEventHeader.h:8
 AliJEventHeader.h:9
 AliJEventHeader.h:10
 AliJEventHeader.h:11
 AliJEventHeader.h:12
 AliJEventHeader.h:13
 AliJEventHeader.h:14
 AliJEventHeader.h:15
 AliJEventHeader.h:16
 AliJEventHeader.h:17
 AliJEventHeader.h:18
 AliJEventHeader.h:19
 AliJEventHeader.h:20
 AliJEventHeader.h:21
 AliJEventHeader.h:22
 AliJEventHeader.h:23
 AliJEventHeader.h:24
 AliJEventHeader.h:25
 AliJEventHeader.h:26
 AliJEventHeader.h:27
 AliJEventHeader.h:28
 AliJEventHeader.h:29
 AliJEventHeader.h:30
 AliJEventHeader.h:31
 AliJEventHeader.h:32
 AliJEventHeader.h:33
 AliJEventHeader.h:34
 AliJEventHeader.h:35
 AliJEventHeader.h:36
 AliJEventHeader.h:37
 AliJEventHeader.h:38
 AliJEventHeader.h:39
 AliJEventHeader.h:40
 AliJEventHeader.h:41
 AliJEventHeader.h:42
 AliJEventHeader.h:43
 AliJEventHeader.h:44
 AliJEventHeader.h:45
 AliJEventHeader.h:46
 AliJEventHeader.h:47
 AliJEventHeader.h:48
 AliJEventHeader.h:49
 AliJEventHeader.h:50
 AliJEventHeader.h:51
 AliJEventHeader.h:52
 AliJEventHeader.h:53
 AliJEventHeader.h:54
 AliJEventHeader.h:55
 AliJEventHeader.h:56
 AliJEventHeader.h:57
 AliJEventHeader.h:58
 AliJEventHeader.h:59
 AliJEventHeader.h:60
 AliJEventHeader.h:61
 AliJEventHeader.h:62
 AliJEventHeader.h:63
 AliJEventHeader.h:64
 AliJEventHeader.h:65
 AliJEventHeader.h:66
 AliJEventHeader.h:67
 AliJEventHeader.h:68
 AliJEventHeader.h:69
 AliJEventHeader.h:70
 AliJEventHeader.h:71
 AliJEventHeader.h:72
 AliJEventHeader.h:73
 AliJEventHeader.h:74
 AliJEventHeader.h:75
 AliJEventHeader.h:76
 AliJEventHeader.h:77
 AliJEventHeader.h:78
 AliJEventHeader.h:79
 AliJEventHeader.h:80
 AliJEventHeader.h:81
 AliJEventHeader.h:82
 AliJEventHeader.h:83
 AliJEventHeader.h:84
 AliJEventHeader.h:85
 AliJEventHeader.h:86
 AliJEventHeader.h:87
 AliJEventHeader.h:88
 AliJEventHeader.h:89
 AliJEventHeader.h:90
 AliJEventHeader.h:91
 AliJEventHeader.h:92
 AliJEventHeader.h:93
 AliJEventHeader.h:94
 AliJEventHeader.h:95
 AliJEventHeader.h:96
 AliJEventHeader.h:97
 AliJEventHeader.h:98
 AliJEventHeader.h:99
 AliJEventHeader.h:100
 AliJEventHeader.h:101
 AliJEventHeader.h:102
 AliJEventHeader.h:103
 AliJEventHeader.h:104
 AliJEventHeader.h:105
 AliJEventHeader.h:106
 AliJEventHeader.h:107
 AliJEventHeader.h:108
 AliJEventHeader.h:109
 AliJEventHeader.h:110
 AliJEventHeader.h:111
 AliJEventHeader.h:112
 AliJEventHeader.h:113
 AliJEventHeader.h:114
 AliJEventHeader.h:115
 AliJEventHeader.h:116
 AliJEventHeader.h:117
 AliJEventHeader.h:118
 AliJEventHeader.h:119
 AliJEventHeader.h:120
 AliJEventHeader.h:121
 AliJEventHeader.h:122
 AliJEventHeader.h:123
 AliJEventHeader.h:124
 AliJEventHeader.h:125
 AliJEventHeader.h:126
 AliJEventHeader.h:127