]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/FORWARD/analysis2/AliCentralMCMultiplicityTask.h
Modified QA script to allow creating QA results (Sans energy loss)
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliCentralMCMultiplicityTask.h
CommitLineData
52047b6f 1//
2// Base class for classes that calculate the multiplicity in the
3// SPD clusters event-by-event
4//
5#ifndef ALICENTRALMCMULTIPLICITYTASK_H
6#define ALICENTRALMCMULTIPLICITYTASK_H
7/**
8 * @file AliCentralMCMultiplicityTask.h
9 * @author Hans Hjersing Dalsgaard
10 * @date Wed Mar 23 14:00:03 2011
11 *
12 * @brief
13 *
bd6f5206 14 * @ingroup pwglf_forward_aod
52047b6f 15 *
16 */
17#include "AliCentralMultiplicityTask.h"
c6d6aa81 18#include "AliSPDMCTrackDensity.h"
52047b6f 19class AliESDEvent;
20class AliMCEvent;
52047b6f 21
22/**
23 * Class that calculates the multiplicity in the
24 * central region event-by-event
25 *
26 * @par Inputs:
27 * - AliESDEvent
28 *
29 * @par Outputs:
30 * - 2 AliAODCentralMult (one from data and one from MC)
31 *
32 * @par Histograms
33 *
34 * @par Corrections used
35 *
bd6f5206 36 * @ingroup pwglf_forward_tasks
37 * @ingroup pwglf_forward_aod
52047b6f 38 *
39 */
40class AliCentralMCMultiplicityTask : public AliCentralMultiplicityTask
41{
42public:
43 /**
44 * @{
45 * @name Interface methods
46 */
47 /**
48 * Constructor
49 *
50 * @param name Name of task
51 */
52 AliCentralMCMultiplicityTask(const char* name);
53 /**
54 * Constructor
55 *
56 * Reserved for ROOT's I/O system - do not use
57 */
58 AliCentralMCMultiplicityTask();
59 /**
c8b1a7db 60 * Create output objects
52047b6f 61 *
c8b1a7db 62 *
63 * @return true on success
52047b6f 64 */
c8b1a7db 65 virtual Bool_t Book();
52047b6f 66 /**
c8b1a7db 67 * Creatre ouput objects
52047b6f 68 *
c8b1a7db 69 * @param ah AOD output handler
70 */
71 virtual void CreateBranches(AliAODHandler* ah);
72 /**
73 * Set-up for data, called before first event
52047b6f 74 *
c8b1a7db 75 * @param v Vertex axis
76 * @param e @f$\eta@f$ axis
77 *
78 * @return true on success
52047b6f 79 */
c8b1a7db 80 virtual Bool_t PreData(const TAxis& v, const TAxis& e);
52047b6f 81 /**
c8b1a7db 82 * End of job
83 *
52047b6f 84 *
c8b1a7db 85 * @return true on success
52047b6f 86 */
c8b1a7db 87 virtual Bool_t PreEvent();
52047b6f 88 /**
89 * Process each event
90 *
c8b1a7db 91 * @param esd ESD event
92 *
93 * @return true on success
52047b6f 94 */
c8b1a7db 95 virtual Bool_t Event(AliESDEvent& esd);
52047b6f 96 /**
97 * Print information
98 *
99 * @param option Not used
100 */
101 virtual void Print(Option_t* option="") const;
762754c0 102 /**
103 * Return the track density calculator
104 *
105 * @return Track density calculator
106 */
107 const AliSPDMCTrackDensity& GetTrackDensity() const { return fTrackDensity; }
108 /**
109 * Return the track density calculator
110 *
111 * @return Track density calculator
112 */
113 AliSPDMCTrackDensity& GetTrackDensity() { return fTrackDensity; }
52047b6f 114
115protected:
8449e3e0 116 /**
c8b1a7db 117 * Copy constructor
8449e3e0 118 *
c8b1a7db 119 * @param o Object to copy from
8449e3e0 120 */
c8b1a7db 121 AliCentralMCMultiplicityTask(const AliCentralMCMultiplicityTask& o);
122 /**
123 * Assignment operator
124 *
125 * @param o Object to assign from
126 *
127 * @return Reference to this object
128 */
129 AliCentralMCMultiplicityTask& operator=(const AliCentralMCMultiplicityTask&o);
130 AliSPDMCTrackDensity fTrackDensity; // Calculate N_ch,incl from MC
52047b6f 131 AliAODCentralMult fAODMCCentral; // Output object
5934a3e3 132 ClassDef(AliCentralMCMultiplicityTask,2) // Forward multiplicity class
52047b6f 133};
134
135#endif
136// Local Variables:
137// mode: C++
138// End:
139