#ifndef ALIFORWARDMULTDIST_H
#define ALIFORWARDMULTDIST_H
#include "AliBaseAODTask.h"
#include <TList.h>
#include <TString.h>
class TH1;
class TH2;
class AliAODForwardMult;
class AliForwardMultDists : public AliBaseAODTask
{
public:
enum {
kInvalidEta = 999
};
enum {
kAnalysis = 1,
kMC = 2,
kTrigger = 3,
kVertex = 4,
kTriggerVertex = 5
};
struct BinSpec
{
BinSpec(Double_t etaMin, Double_t etaMax, Double_t nchLow);
void Push(UShort_t n, Double_t d);
const TAxis& Axis() const;
Double_t fEtaMin;
Double_t fEtaMax;
Double_t fLow;
TArrayI fN;
TArrayD fD;
mutable TAxis fAxis;
};
AliForwardMultDists();
AliForwardMultDists(const char* name);
virtual ~AliForwardMultDists() {}
Bool_t Book();
Bool_t PreData();
Bool_t PreEvent() { fIsSelected = false; return true; }
Bool_t Event(AliAODEvent& aod);
Bool_t Finalize();
void AddBin(const BinSpec& spec);
void AddBin(Double_t etaLow, Double_t etaMax, const TAxis& nAxis);
void AddBin(Double_t etaLow, Double_t etaMax, UShort_t nMax, UShort_t nDiv);
void SetUsePhiAcc(Bool_t use) { fUsePhiAcc = use; }
void Print(Option_t* option="") const;
protected:
static void ProjectX(const TH2& input, TH1& cache, Bool_t usePhiAcc=true);
static void ProjectX(const TH2* input, TH1* cache);
struct EtaBin : public TObject
{
EtaBin();
EtaBin(Double_t minEta, Double_t maxEta, const TAxis& mAxis);
EtaBin(const EtaBin& o);
EtaBin& operator=(const EtaBin& o);
virtual ~EtaBin() {}
const char* GetName() const { return fName.Data(); }
Bool_t IsSymmetric() const;
Bool_t IsNegative() const;
Bool_t IsPositive() const;
const char* ParentName() const;
TList* FindParent(TList* l, Bool_t create=true) const;
static TH1* CreateH1(const char* name, const char* title,
const TAxis& xAxis);
static TH2* CreateH2(const char* name, const char* title,
const TAxis& xAxis, const TAxis& yAxis);
void SetupForData(TList* list, const TH2& hist, Bool_t useMC);
void Process(const TH1& sumForward, const TH1& sumCentral,
const TH2& forward, const TH2& central,
Bool_t accepted, const TH1* mc);
void Terminate(TList* in, TList* out);
TString fName;
TAxis fMAxis;
TAxis fTAxis;
Double_t fMinEta;
Double_t fMaxEta;
Int_t fMinBin;
Int_t fMaxBin;
TH1* fSum;
TH2* fCorr;
TH2* fResponse;
TH1* fTruth;
TH1* fTruthAccepted;
TH1* fCoverage;
ClassDef(EtaBin,2);
};
AliForwardMultDists(const AliForwardMultDists& o);
AliForwardMultDists& operator=(const AliForwardMultDists& o);
Bool_t CheckEvent(const AliAODForwardMult& fwd);
TList fBins;
TList* fSymmetric;
TList* fNegative;
TList* fPositive;
TH1* fMCVertex;
TH2* fDiag;
TH1* fForwardCache;
TH1* fCentralCache;
TH1* fMCCache;
Bool_t fUsePhiAcc;
Bool_t fIsSelected;
ClassDef(AliForwardMultDists,1);
};
#endif
AliForwardMultDists.h:100 AliForwardMultDists.h:101 AliForwardMultDists.h:102 AliForwardMultDists.h:103 AliForwardMultDists.h:104 AliForwardMultDists.h:105 AliForwardMultDists.h:106 AliForwardMultDists.h:107 AliForwardMultDists.h:108 AliForwardMultDists.h:109 AliForwardMultDists.h:110 AliForwardMultDists.h:111 AliForwardMultDists.h:112 AliForwardMultDists.h:113 AliForwardMultDists.h:114 AliForwardMultDists.h:115 AliForwardMultDists.h:116 AliForwardMultDists.h:117 AliForwardMultDists.h:118 AliForwardMultDists.h:119 AliForwardMultDists.h:120 AliForwardMultDists.h:121 AliForwardMultDists.h:122 AliForwardMultDists.h:123 AliForwardMultDists.h:124 AliForwardMultDists.h:125 AliForwardMultDists.h:126 AliForwardMultDists.h:127 AliForwardMultDists.h:128 AliForwardMultDists.h:129 AliForwardMultDists.h:130 AliForwardMultDists.h:131 AliForwardMultDists.h:132 AliForwardMultDists.h:133 AliForwardMultDists.h:134 AliForwardMultDists.h:135 AliForwardMultDists.h:136 AliForwardMultDists.h:137 AliForwardMultDists.h:138 AliForwardMultDists.h:139 AliForwardMultDists.h:140 AliForwardMultDists.h:141 AliForwardMultDists.h:142 AliForwardMultDists.h:143 AliForwardMultDists.h:144 AliForwardMultDists.h:145 AliForwardMultDists.h:146 AliForwardMultDists.h:147 AliForwardMultDists.h:148 AliForwardMultDists.h:149 AliForwardMultDists.h:150 AliForwardMultDists.h:151 AliForwardMultDists.h:152 AliForwardMultDists.h:153 AliForwardMultDists.h:154 AliForwardMultDists.h:155 AliForwardMultDists.h:156 AliForwardMultDists.h:157 AliForwardMultDists.h:158 AliForwardMultDists.h:159 AliForwardMultDists.h:160 AliForwardMultDists.h:161 AliForwardMultDists.h:162 AliForwardMultDists.h:163 AliForwardMultDists.h:164 AliForwardMultDists.h:165 AliForwardMultDists.h:166 AliForwardMultDists.h:167 AliForwardMultDists.h:168 AliForwardMultDists.h:169 AliForwardMultDists.h:170 AliForwardMultDists.h:171 AliForwardMultDists.h:172 AliForwardMultDists.h:173 AliForwardMultDists.h:174 AliForwardMultDists.h:175 AliForwardMultDists.h:176 AliForwardMultDists.h:177 AliForwardMultDists.h:178 AliForwardMultDists.h:179 AliForwardMultDists.h:180 AliForwardMultDists.h:181 AliForwardMultDists.h:182 AliForwardMultDists.h:183 AliForwardMultDists.h:184 AliForwardMultDists.h:185 AliForwardMultDists.h:186 AliForwardMultDists.h:187 AliForwardMultDists.h:188 AliForwardMultDists.h:189 AliForwardMultDists.h:190 AliForwardMultDists.h:191 AliForwardMultDists.h:192 AliForwardMultDists.h:193 AliForwardMultDists.h:194 AliForwardMultDists.h:195 AliForwardMultDists.h:196 AliForwardMultDists.h:197 AliForwardMultDists.h:198 AliForwardMultDists.h:199 AliForwardMultDists.h:200 AliForwardMultDists.h:201 AliForwardMultDists.h:202 AliForwardMultDists.h:203 AliForwardMultDists.h:204 AliForwardMultDists.h:205 AliForwardMultDists.h:206 AliForwardMultDists.h:207 AliForwardMultDists.h:208 AliForwardMultDists.h:209 AliForwardMultDists.h:210 AliForwardMultDists.h:211 AliForwardMultDists.h:212 AliForwardMultDists.h:213 AliForwardMultDists.h:214 AliForwardMultDists.h:215 AliForwardMultDists.h:216 AliForwardMultDists.h:217 AliForwardMultDists.h:218 AliForwardMultDists.h:219 AliForwardMultDists.h:220 AliForwardMultDists.h:221 AliForwardMultDists.h:222 AliForwardMultDists.h:223 AliForwardMultDists.h:224 AliForwardMultDists.h:225 AliForwardMultDists.h:226 AliForwardMultDists.h:227 AliForwardMultDists.h:228 AliForwardMultDists.h:229 AliForwardMultDists.h:230 AliForwardMultDists.h:231 AliForwardMultDists.h:232 AliForwardMultDists.h:233 AliForwardMultDists.h:234 AliForwardMultDists.h:235 AliForwardMultDists.h:236 AliForwardMultDists.h:237 AliForwardMultDists.h:238 AliForwardMultDists.h:239 AliForwardMultDists.h:240 AliForwardMultDists.h:241 AliForwardMultDists.h:242 AliForwardMultDists.h:243 AliForwardMultDists.h:244 AliForwardMultDists.h:245 AliForwardMultDists.h:246 AliForwardMultDists.h:247 AliForwardMultDists.h:248 AliForwardMultDists.h:249 AliForwardMultDists.h:250 AliForwardMultDists.h:251 AliForwardMultDists.h:252 AliForwardMultDists.h:253 AliForwardMultDists.h:254 AliForwardMultDists.h:255 AliForwardMultDists.h:256 AliForwardMultDists.h:257 AliForwardMultDists.h:258 AliForwardMultDists.h:259 AliForwardMultDists.h:260 AliForwardMultDists.h:261 AliForwardMultDists.h:262 AliForwardMultDists.h:263 AliForwardMultDists.h:264 AliForwardMultDists.h:265 AliForwardMultDists.h:266 AliForwardMultDists.h:267 AliForwardMultDists.h:268 AliForwardMultDists.h:269 AliForwardMultDists.h:270 AliForwardMultDists.h:271 AliForwardMultDists.h:272 AliForwardMultDists.h:273 AliForwardMultDists.h:274 AliForwardMultDists.h:275 AliForwardMultDists.h:276 AliForwardMultDists.h:277 AliForwardMultDists.h:278 AliForwardMultDists.h:279 AliForwardMultDists.h:280 AliForwardMultDists.h:281 AliForwardMultDists.h:282 AliForwardMultDists.h:283 AliForwardMultDists.h:284 AliForwardMultDists.h:285 AliForwardMultDists.h:286 AliForwardMultDists.h:287 AliForwardMultDists.h:288 AliForwardMultDists.h:289 AliForwardMultDists.h:290 AliForwardMultDists.h:291 AliForwardMultDists.h:292 AliForwardMultDists.h:293 AliForwardMultDists.h:294 AliForwardMultDists.h:295 AliForwardMultDists.h:296 AliForwardMultDists.h:297 AliForwardMultDists.h:298 AliForwardMultDists.h:299 AliForwardMultDists.h:300 AliForwardMultDists.h:301 AliForwardMultDists.h:302 AliForwardMultDists.h:303 AliForwardMultDists.h:304 AliForwardMultDists.h:305 AliForwardMultDists.h:306 AliForwardMultDists.h:307 AliForwardMultDists.h:308 AliForwardMultDists.h:309 AliForwardMultDists.h:310 AliForwardMultDists.h:311 AliForwardMultDists.h:312 AliForwardMultDists.h:313 AliForwardMultDists.h:314 AliForwardMultDists.h:315 AliForwardMultDists.h:316 AliForwardMultDists.h:317 AliForwardMultDists.h:318 AliForwardMultDists.h:319 AliForwardMultDists.h:320 AliForwardMultDists.h:321 AliForwardMultDists.h:322 AliForwardMultDists.h:323 AliForwardMultDists.h:324 AliForwardMultDists.h:325 AliForwardMultDists.h:326 AliForwardMultDists.h:327 AliForwardMultDists.h:328 AliForwardMultDists.h:329 AliForwardMultDists.h:330 AliForwardMultDists.h:331 AliForwardMultDists.h:332 AliForwardMultDists.h:333 AliForwardMultDists.h:334 AliForwardMultDists.h:335 AliForwardMultDists.h:336 AliForwardMultDists.h:337 AliForwardMultDists.h:338 AliForwardMultDists.h:339 AliForwardMultDists.h:340 AliForwardMultDists.h:341 AliForwardMultDists.h:342 AliForwardMultDists.h:343 AliForwardMultDists.h:344 AliForwardMultDists.h:345 AliForwardMultDists.h:346 AliForwardMultDists.h:347 AliForwardMultDists.h:348 AliForwardMultDists.h:349 AliForwardMultDists.h:350 AliForwardMultDists.h:351 AliForwardMultDists.h:352 AliForwardMultDists.h:353 AliForwardMultDists.h:354 AliForwardMultDists.h:355 AliForwardMultDists.h:356 AliForwardMultDists.h:357 AliForwardMultDists.h:358 AliForwardMultDists.h:359 AliForwardMultDists.h:360 AliForwardMultDists.h:361 AliForwardMultDists.h:362 AliForwardMultDists.h:363 AliForwardMultDists.h:364 AliForwardMultDists.h:365 AliForwardMultDists.h:366 AliForwardMultDists.h:367 AliForwardMultDists.h:368 AliForwardMultDists.h:369 AliForwardMultDists.h:370 AliForwardMultDists.h:371 AliForwardMultDists.h:372 AliForwardMultDists.h:373 AliForwardMultDists.h:374 AliForwardMultDists.h:375 AliForwardMultDists.h:376 AliForwardMultDists.h:377 AliForwardMultDists.h:378 AliForwardMultDists.h:379 AliForwardMultDists.h:380 AliForwardMultDists.h:381 AliForwardMultDists.h:382 AliForwardMultDists.h:383 AliForwardMultDists.h:384 AliForwardMultDists.h:385 AliForwardMultDists.h:386