]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/AliForwardCreateResponseMatrices.h
Fix some documentation issues
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwardCreateResponseMatrices.h
1 /**
2  * @file   AliForwardCreateResponseMatrices.h
3  * @author Christian Holm Christensen <cholm@master.hehi.nbi.dk>
4  * @date   Thu Feb  7 00:56:02 2013
5  * 
6  * @brief  
7  * 
8  * @ingroup pwglf_forward_multdist
9  */
10 /** 
11  * @defgroup pwglf_forward_multdist Multiplicity Distributions
12  * 
13  * Code to do with @f$P(N_{ch})@f$ analysis
14  *
15  * @ingroup pwglf_forward_topical
16  */
17 #ifndef ALIFORWARDCREATERESPONSEMATRICES_H
18 #define ALIFORWARDCREATERESPONSEMATRICES_H
19   
20 #include "AliBaseAODTask.h"
21
22 class TH2D;
23
24 /**
25  * Task to make the reponse matrices used by the multiplicity
26  * distibution analysis
27  * 
28  * @ingroup pwglf_forward Tasks
29  * @ingroup pwglf_forward_multdist
30  * @todo Should not inherit from AliBasedNdetaTask 
31  */
32 class AliForwardCreateResponseMatrices : public AliBaseAODTask
33 {
34 public:
35   /** 
36    * 
37    * Default Constructor 
38    * 
39    */
40   AliForwardCreateResponseMatrices();
41   /**
42    *  Constructor
43    *
44    */
45   AliForwardCreateResponseMatrices(const char* name);
46   /** 
47    * 
48    * Destructor
49    * 
50    */
51   virtual ~AliForwardCreateResponseMatrices(){}
52   /**
53    *  Embedded Class begins here
54    */
55   struct Bin : public TNamed
56   {
57     /**
58      * Default Constructor
59      */
60     Bin();
61     /**
62      * Constructor
63      */
64     Bin(Double_t etaLow, Double_t etaHigh);
65     /**
66      * Copy Constructor
67      */ 
68     Bin(const Bin&);
69     /**
70      * Assignment Operator
71      */
72     Bin&operator=(const Bin&){return*this;}
73     /**
74      * Destructor
75      */
76     ~Bin(){}
77     /**
78      * Define outputs of a single eta bin
79      */
80     virtual void CreateOutputObjectss(TList* cont,  Int_t max);
81     /**
82      * Process a single eta bin
83      */    
84     virtual void Process(TH1D* dndetaForward, TH1D* dndetaCentral, TH1D* normForward,   TH1D* normCentral, TH1D* dndetaMC, Double_t VtxZ, Bool_t selectedTrigger,  Bool_t isMCNSDm, Bool_t isESDNSD, const AliAODEvent& aodevent);
85     Double_t fEtaLow;                  // low eta limit 
86     Double_t fEtaHigh;                 // high eta limit 
87     TH1D*    fHist;                    // multiplicity histogram 
88     TH1D*    fHistMC;                  // multiplicity histogram MC truth primaries
89     TH2D*    fAcceptance;              // histogram showing the 'holes' in acceptance. BinContent of 1 shows a hole, and BinContent of 10 shows data coverage
90     TH2D*    fVtxZvsNdataBins;         // VtxZ vs. number of data acceptance bins (normalised to the eta range) 
91     TH2D*    fResponseMatrix;          //Response matrix (MC truth vs. analysed multiplicity)
92     TH2D*    fResponseMatrixPlus05;    //Response matrix with analysed multiplicity scaled up by 5%
93     TH2D*    fResponseMatrixPlus075;   //Response matrix  with analysed multiplicity scaled up by 7.5%
94     TH2D*    fResponseMatrixPlus10;    //Response matrix with analysed multiplicity scaled up by 10%
95     TH2D*    fResponseMatrixMinus05;   //Response matrix with analysed multiplicity scaled down by 5%
96     TH2D*    fResponseMatrixMinus075;  //Response matrix with analysed multiplicity scaled down by 7.55%
97     TH2D*    fResponseMatrixMinus10;   //Response matrix with analysed multiplicity scaled down by 10%
98     TH2D*    fResponseMatrixMinusSys;  //Response matrix with analysed multiplicity scaled up by event mult uncertainty
99     TH2D*    fResponseMatrixPlusSys;   //Response matrix with analysed multiplicity scaled down by event mult uncertainty
100     TH1D*    fESDNSD;                  //number of events found as NSD by the analysis vs. multiplicity
101     TH1D*    fMCNSD;                   //number of events found as NSD by the MC truth vs. multiplicity
102     TH1D*    fMCESDNSD;                //number of events found as NSD by both analysis and MC truth vs. multiplicity
103     TH1D*    fTriggerBias;             // histogram for trigger vertex bias correction
104    ClassDef(Bin,2); // Manager of data 
105   };
106   /**
107    * Create Output Objects
108    */
109   Bool_t Book();
110   /**
111    * Create Output Objects
112    */
113   Bool_t PreEven() { fIsSelected = false; return true; }
114   /**
115    * User Exec
116    */
117   Bool_t Event(AliAODEvent& aod);
118   /**
119    * Terminate
120    */
121   Bool_t Finalize() { return true; }
122   /** 
123    * Add another eta bin to the task
124    */
125   void AddBin(Double_t etaLow, Double_t etaHigh){fBins.Add(new Bin(etaLow, etaHigh)); }
126 protected:
127   /**
128    * Copy Constructor
129    *
130    */
131   AliForwardCreateResponseMatrices(const AliForwardCreateResponseMatrices& o);
132   /**
133    * Assignment operator
134    *
135    */
136   AliForwardCreateResponseMatrices& 
137   operator=(const AliForwardCreateResponseMatrices&);
138   Bool_t CheckEvent(const AliAODForwardMult& fwd);
139
140   TList  fBins;    // List of eta bins
141   Bool_t fIsSelected;  // Did event pass the (analysis) cuts
142   ClassDef(AliForwardCreateResponseMatrices, 4); 
143 };
144
145 #endif
146 // Local Variables:
147 //   mode: C++
148 // End: