]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliJetDistributions.h
Manager class for control histos added. (Guillermo Contreras)
[u/mrichter/AliRoot.git] / JETAN / AliJetDistributions.h
1 #ifndef ALIJETDISTRIBUTIONS_H
2 #define ALIJETDISTRIBUTIONS_H
3  
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6 //---------------------------------------------------------------------
7 // JetDistributions class 
8 // Get different basic distributions
9 // Author: mercedes.lopez.noriega@cern.ch
10 //---------------------------------------------------------------------
11
12 #include <TObject.h> 
13 class AliLeading;
14 class AliJet;
15 class TH1;
16 class TH1F;
17 class TH2F;
18 class TProfile;
19 class TLorentzVector;
20
21 class AliJetDistributions : public TObject
22 {
23  public:
24  
25     AliJetDistributions();
26     ~AliJetDistributions(){;}
27
28     void Analyze();
29     void DefineHistograms();
30     void FillHistograms();
31     void FillDistributions(AliJet *j);
32     void PlotHistograms();
33     void SaveHistograms();
34     
35     // Setter
36     void SetDirectory(char* directory) {fDirectory = directory;}
37     void SetOutputFile(char* file) {fFile = file;}
38     void SetPercentage(Float_t p) { fPercentage = p;}
39     void SetEventRange(Int_t imin, Int_t imax) {fEventMin = imin; fEventMax = imax;}
40     void SetRunRange(Int_t imin, Int_t imax) {fRunMin = imin; fRunMax = imax;}
41     void SetPythia(Bool_t f = kFALSE){fPythia = f;}    
42     void SetProperties(TH1* h,const char* x, const char* y) const;
43     void SetReaderHeader(char *s="AliJetKineReaderHeader") {fReaderHeader = s;}
44     void SetPartPtCut(Float_t c) { fPartPtCut = c; }
45
46     void SetDoLeadPart(Bool_t f = kTRUE) {fDoPart = f;}
47     void SetDoGenJet(Bool_t f = kTRUE) {fDoGenJ = f;}
48     void SetDoRecJet(Bool_t f = kTRUE) {fDoRecJ = f;}
49     
50  private:
51     char*  fReaderHeader;// Reader header
52     char*  fDirectory;   // Directory
53     char*  fFile     ;   // Output file name
54     Int_t  fEventMin;    // Minimum event number
55     Int_t  fEventMax;    // Maximum event number
56     Int_t  fRunMin;      // Minimum run number 
57     Int_t  fRunMax;      // Maximum run number
58     Float_t fPercentage; // percentage of pt from signal particles to accept a jet
59     Float_t fPartPtCut;  // cut in the pt of particles in histos
60
61     // user options
62     Bool_t fPythia;      // if pythia events
63     Bool_t fDoPart;      // do analysis of leading particle
64     Bool_t fDoGenJ;      // do analysis of leading generated jet
65     Bool_t fDoRecJ;      // do analysis of leading rec jet
66    
67     // leading hets and particles
68     AliLeading* fPart;   // pointer to leading particle
69     AliJet* fGenJ;       // pointer to leading generated jet
70     AliJet* fRecJ;       // pointer to leading reconstructed jet
71
72     // histos for reconstructed particles
73     TH1F* fRetaH;   // Eta of reconstructed particle
74     TH1F* fRphiH;   // Phi of reconstructed particle
75     TH1F* fRptH;    // Pt of reconstructed particle
76     TH2F* fRetaphiH;// Eta vs Phi of reconstructed particles
77
78     TH1F* fMultH;   // Multiplicity
79
80  protected:
81     AliJetDistributions(const AliJetDistributions& rJetD);
82     AliJetDistributions& operator = (const AliJetDistributions& rhsd);
83
84     ClassDef(AliJetDistributions,1)
85 };
86  
87 #endif