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

//_________________________________________________________________________
// Gerenate a random trigger, input for other analysis
// Set flat energy distribution over acceptance of EMCAL, PHOS or CTS
// Be careful, correlate only with Min Bias events this random trigger particle
//
//
//-- Author: Gustavo Conesa (LPSC-Grenoble)

// Root system
class TH2F; 
#include <TRandom3.h>

// Analysis system
#include "AliAnaCaloTrackCorrBaseClass.h"
 
class AliAnaRandomTrigger : public AliAnaCaloTrackCorrBaseClass {
  
 public: 
  AliAnaRandomTrigger() ; // default ctor
  virtual ~AliAnaRandomTrigger() { ; } //virtual dtor

  Bool_t       ExcludeDeadBadRegions(Float_t eta, Float_t phi);
  
  TObjString * GetAnalysisCuts();
  
  TList      * GetCreateOutputObjects();
    
  void         InitParameters();
    
  void         MakeAnalysisFillAOD()  ;
  
  void         MakeAnalysisFillHistograms() ; 
  
  void         Print(const Option_t * opt) const;
  
  void         SetEtaCut(Float_t min, Float_t max) { fEtaCut[0] = min ; fEtaCut[1] = max;}
  
  void         SetPhiCut(Float_t min, Float_t max) { fPhiCut[0] = min ; fPhiCut[1] = max;} // radians
  
  void         SetNumberOfRandomParticles(Int_t n) { fNRandom   = n   ; }
  
  void         SetTriggerDetector(TString & det) ;
  void         SetTriggerDetector(Int_t  det)    ;
  
 private:

  Int_t      fTriggerDetector ;       // Detector : EMCAL, PHOS, CTS
  TString    fTriggerDetectorString ; // Detector : EMCAL, PHOS, CTS
  Float_t    fEtaCut[2]; // Eta acceptance
  Float_t    fPhiCut[2]; // Phi acceptance, radians
  TRandom3   fRandom   ; // Random generator
  Int_t      fNRandom  ; // Number of random particles per event
  
  TLorentzVector fMomentum; //! avoid generating TLorentzVectors per event
  
  //Constrol histograms 
  TH1F     * fhE;        //! E distribution
  TH1F     * fhPt;       //! pT distribution
  TH2F     * fhPhi;      //! phi distribution vs pT, negative
  TH2F     * fhEta;      //! eta distribution vs pT, negative
  TH2F     * fhEtaPhi;   //! eta vs phi distribution of positive charge
  
  AliAnaRandomTrigger(              const AliAnaRandomTrigger & r) ; // cpy ctor
  AliAnaRandomTrigger & operator = (const AliAnaRandomTrigger & r) ; // cpy assignment
  
  ClassDef(AliAnaRandomTrigger,4)

} ;


#endif //ALIANARANDOMTRIGGER_H



 AliAnaRandomTrigger.h:1
 AliAnaRandomTrigger.h:2
 AliAnaRandomTrigger.h:3
 AliAnaRandomTrigger.h:4
 AliAnaRandomTrigger.h:5
 AliAnaRandomTrigger.h:6
 AliAnaRandomTrigger.h:7
 AliAnaRandomTrigger.h:8
 AliAnaRandomTrigger.h:9
 AliAnaRandomTrigger.h:10
 AliAnaRandomTrigger.h:11
 AliAnaRandomTrigger.h:12
 AliAnaRandomTrigger.h:13
 AliAnaRandomTrigger.h:14
 AliAnaRandomTrigger.h:15
 AliAnaRandomTrigger.h:16
 AliAnaRandomTrigger.h:17
 AliAnaRandomTrigger.h:18
 AliAnaRandomTrigger.h:19
 AliAnaRandomTrigger.h:20
 AliAnaRandomTrigger.h:21
 AliAnaRandomTrigger.h:22
 AliAnaRandomTrigger.h:23
 AliAnaRandomTrigger.h:24
 AliAnaRandomTrigger.h:25
 AliAnaRandomTrigger.h:26
 AliAnaRandomTrigger.h:27
 AliAnaRandomTrigger.h:28
 AliAnaRandomTrigger.h:29
 AliAnaRandomTrigger.h:30
 AliAnaRandomTrigger.h:31
 AliAnaRandomTrigger.h:32
 AliAnaRandomTrigger.h:33
 AliAnaRandomTrigger.h:34
 AliAnaRandomTrigger.h:35
 AliAnaRandomTrigger.h:36
 AliAnaRandomTrigger.h:37
 AliAnaRandomTrigger.h:38
 AliAnaRandomTrigger.h:39
 AliAnaRandomTrigger.h:40
 AliAnaRandomTrigger.h:41
 AliAnaRandomTrigger.h:42
 AliAnaRandomTrigger.h:43
 AliAnaRandomTrigger.h:44
 AliAnaRandomTrigger.h:45
 AliAnaRandomTrigger.h:46
 AliAnaRandomTrigger.h:47
 AliAnaRandomTrigger.h:48
 AliAnaRandomTrigger.h:49
 AliAnaRandomTrigger.h:50
 AliAnaRandomTrigger.h:51
 AliAnaRandomTrigger.h:52
 AliAnaRandomTrigger.h:53
 AliAnaRandomTrigger.h:54
 AliAnaRandomTrigger.h:55
 AliAnaRandomTrigger.h:56
 AliAnaRandomTrigger.h:57
 AliAnaRandomTrigger.h:58
 AliAnaRandomTrigger.h:59
 AliAnaRandomTrigger.h:60
 AliAnaRandomTrigger.h:61
 AliAnaRandomTrigger.h:62
 AliAnaRandomTrigger.h:63
 AliAnaRandomTrigger.h:64
 AliAnaRandomTrigger.h:65
 AliAnaRandomTrigger.h:66
 AliAnaRandomTrigger.h:67
 AliAnaRandomTrigger.h:68
 AliAnaRandomTrigger.h:69
 AliAnaRandomTrigger.h:70
 AliAnaRandomTrigger.h:71
 AliAnaRandomTrigger.h:72
 AliAnaRandomTrigger.h:73
 AliAnaRandomTrigger.h:74
 AliAnaRandomTrigger.h:75
 AliAnaRandomTrigger.h:76
 AliAnaRandomTrigger.h:77
 AliAnaRandomTrigger.h:78
 AliAnaRandomTrigger.h:79