#include "AliCentralMCMultiplicityTask.h"
#include "AliCentralCorrectionManager.h"
#include "AliCentralCorrAcceptance.h"
#include "AliCentralCorrSecondaryMap.h"
#include "AliForwardUtil.h"
#include "AliAODForwardMult.h"
#include "AliLog.h"
#include "AliAODHandler.h"
#include "AliInputEventHandler.h"
#include "AliESDInputHandler.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliMultiplicity.h"
#include "AliFMDEventInspector.h"
#include <AliMCEvent.h>
#include <AliTrackReference.h>
#include <AliStack.h>
#include <TROOT.h>
#include <TH1D.h>
#include <TH2D.h>
#include <TH3D.h>
#include <TFile.h>
#include <TError.h>
#include <iostream>
#include <iomanip>
AliCentralMCMultiplicityTask::AliCentralMCMultiplicityTask(const char* name)
: AliCentralMultiplicityTask(name),
fTrackDensity(name),
fAODMCCentral(kTRUE)
{
DGUARD(fDebug,3,"Named CTOR of AliCentralMCMultiplicityTask: %s",
name);
fBranchNames =
"ESD:AliESDRun.,AliESDHeader.,AliMultiplicity.,"
"SPDVertex.,PrimaryVertex.";
}
AliCentralMCMultiplicityTask::AliCentralMCMultiplicityTask()
: AliCentralMultiplicityTask(),
fTrackDensity(),
fAODMCCentral(kTRUE)
{
DGUARD(fDebug, 3,"Default CTOR of AliCentralMCMultiplicityTask");
}
void
AliCentralMCMultiplicityTask::CreateBranches(AliAODHandler* ah)
{
DGUARD(fDebug,1,"Create user output in AliCentralMCMultiplicityTask");
AliCentralMultiplicityTask::CreateBranches(ah);
if (!ah)
return;
TObject* obj = &fAODMCCentral;
ah->AddBranch("AliAODCentralMult", &obj);
}
Bool_t
AliCentralMCMultiplicityTask::Book()
{
AliCentralMultiplicityTask::Book();
fTrackDensity.CreateOutputObjects(fList);
return true;
}
Bool_t AliCentralMCMultiplicityTask::PreData(const TAxis& v, const TAxis& e)
{
AliCentralMultiplicityTask::PreData(v, e);
fAODMCCentral.Init(e);
return true;
}
Bool_t AliCentralMCMultiplicityTask::PreEvent()
{
AliCentralMultiplicityTask::PreEvent();
fAODMCCentral.Clear("");
return true;
}
Bool_t AliCentralMCMultiplicityTask::Event(AliESDEvent& esd)
{
DGUARD(fDebug,1,"Process event in AliCentralMCMultiplicityTask");
fIvz = 0;
Bool_t lowFlux = kFALSE;
UInt_t triggers = 0;
UShort_t ivz = 0;
TVector3 ip;
Double_t cent = -1;
UShort_t nClusters = 0;
UInt_t found = fInspector.Process(&esd, triggers, lowFlux,
ivz, ip, cent, nClusters);
MarkEventForStore();
Bool_t isAccepted = true;
if (found & AliFMDEventInspector::kNoEvent) isAccepted = false;
if (found & AliFMDEventInspector::kNoTriggers) isAccepted = false;
if (found & AliFMDEventInspector::kNoSPD) isAccepted = false;
if (found & AliFMDEventInspector::kNoVertex) isAccepted = false;
if (triggers & AliAODForwardMult::kPileUp) isAccepted = false;
if (found & AliFMDEventInspector::kBadVertex) isAccepted = false;
VtxBin* bin = static_cast<VtxBin*>(fVtxList->At(ivz));
if (!bin) return false;
if (isAccepted) {
const AliMultiplicity* spdmult = esd.GetMultiplicity();
TH2D& aodHist = fAODCentral.GetHistogram();
ProcessESD(aodHist, spdmult);
bin->Correct(aodHist, fUseSecondary, fUseAcceptance);
if (triggers & AliAODForwardMult::kInel)
fHData->Add(&(fAODCentral.GetHistogram()));
}
const AliMCEvent* mcEvent = MCEvent();
if (!mcEvent) return false;
TH2D& hist = fAODMCCentral.GetHistogram();
fTrackDensity.Calculate(*mcEvent, ip.Z(), hist, NULL);
bin->Correct(hist, fUseSecondary, fUseAcceptance, false);
return true;
}
void
AliCentralMCMultiplicityTask::Print(Option_t* option) const
{
AliCentralMultiplicityTask::Print(option);
gROOT->IncreaseDirLevel();
fTrackDensity.Print(option);
gROOT->DecreaseDirLevel();
}
AliCentralMCMultiplicityTask.cxx:1 AliCentralMCMultiplicityTask.cxx:2 AliCentralMCMultiplicityTask.cxx:3 AliCentralMCMultiplicityTask.cxx:4 AliCentralMCMultiplicityTask.cxx:5 AliCentralMCMultiplicityTask.cxx:6 AliCentralMCMultiplicityTask.cxx:7 AliCentralMCMultiplicityTask.cxx:8 AliCentralMCMultiplicityTask.cxx:9 AliCentralMCMultiplicityTask.cxx:10 AliCentralMCMultiplicityTask.cxx:11 AliCentralMCMultiplicityTask.cxx:12 AliCentralMCMultiplicityTask.cxx:13 AliCentralMCMultiplicityTask.cxx:14 AliCentralMCMultiplicityTask.cxx:15 AliCentralMCMultiplicityTask.cxx:16 AliCentralMCMultiplicityTask.cxx:17 AliCentralMCMultiplicityTask.cxx:18 AliCentralMCMultiplicityTask.cxx:19 AliCentralMCMultiplicityTask.cxx:20 AliCentralMCMultiplicityTask.cxx:21 AliCentralMCMultiplicityTask.cxx:22 AliCentralMCMultiplicityTask.cxx:23 AliCentralMCMultiplicityTask.cxx:24 AliCentralMCMultiplicityTask.cxx:25 AliCentralMCMultiplicityTask.cxx:26 AliCentralMCMultiplicityTask.cxx:27 AliCentralMCMultiplicityTask.cxx:28 AliCentralMCMultiplicityTask.cxx:29 AliCentralMCMultiplicityTask.cxx:30 AliCentralMCMultiplicityTask.cxx:31 AliCentralMCMultiplicityTask.cxx:32 AliCentralMCMultiplicityTask.cxx:33 AliCentralMCMultiplicityTask.cxx:34 AliCentralMCMultiplicityTask.cxx:35 AliCentralMCMultiplicityTask.cxx:36 AliCentralMCMultiplicityTask.cxx:37 AliCentralMCMultiplicityTask.cxx:38 AliCentralMCMultiplicityTask.cxx:39 AliCentralMCMultiplicityTask.cxx:40 AliCentralMCMultiplicityTask.cxx:41 AliCentralMCMultiplicityTask.cxx:42 AliCentralMCMultiplicityTask.cxx:43 AliCentralMCMultiplicityTask.cxx:44 AliCentralMCMultiplicityTask.cxx:45 AliCentralMCMultiplicityTask.cxx:46 AliCentralMCMultiplicityTask.cxx:47 AliCentralMCMultiplicityTask.cxx:48 AliCentralMCMultiplicityTask.cxx:49 AliCentralMCMultiplicityTask.cxx:50 AliCentralMCMultiplicityTask.cxx:51 AliCentralMCMultiplicityTask.cxx:52 AliCentralMCMultiplicityTask.cxx:53 AliCentralMCMultiplicityTask.cxx:54 AliCentralMCMultiplicityTask.cxx:55 AliCentralMCMultiplicityTask.cxx:56 AliCentralMCMultiplicityTask.cxx:57 AliCentralMCMultiplicityTask.cxx:58 AliCentralMCMultiplicityTask.cxx:59 AliCentralMCMultiplicityTask.cxx:60 AliCentralMCMultiplicityTask.cxx:61 AliCentralMCMultiplicityTask.cxx:62 AliCentralMCMultiplicityTask.cxx:63 AliCentralMCMultiplicityTask.cxx:64 AliCentralMCMultiplicityTask.cxx:65 AliCentralMCMultiplicityTask.cxx:66 AliCentralMCMultiplicityTask.cxx:67 AliCentralMCMultiplicityTask.cxx:68 AliCentralMCMultiplicityTask.cxx:69 AliCentralMCMultiplicityTask.cxx:70 AliCentralMCMultiplicityTask.cxx:71 AliCentralMCMultiplicityTask.cxx:72 AliCentralMCMultiplicityTask.cxx:73 AliCentralMCMultiplicityTask.cxx:74 AliCentralMCMultiplicityTask.cxx:75 AliCentralMCMultiplicityTask.cxx:76 AliCentralMCMultiplicityTask.cxx:77 AliCentralMCMultiplicityTask.cxx:78 AliCentralMCMultiplicityTask.cxx:79 AliCentralMCMultiplicityTask.cxx:80 AliCentralMCMultiplicityTask.cxx:81 AliCentralMCMultiplicityTask.cxx:82 AliCentralMCMultiplicityTask.cxx:83 AliCentralMCMultiplicityTask.cxx:84 AliCentralMCMultiplicityTask.cxx:85 AliCentralMCMultiplicityTask.cxx:86 AliCentralMCMultiplicityTask.cxx:87 AliCentralMCMultiplicityTask.cxx:88 AliCentralMCMultiplicityTask.cxx:89 AliCentralMCMultiplicityTask.cxx:90 AliCentralMCMultiplicityTask.cxx:91 AliCentralMCMultiplicityTask.cxx:92 AliCentralMCMultiplicityTask.cxx:93 AliCentralMCMultiplicityTask.cxx:94 AliCentralMCMultiplicityTask.cxx:95 AliCentralMCMultiplicityTask.cxx:96 AliCentralMCMultiplicityTask.cxx:97 AliCentralMCMultiplicityTask.cxx:98 AliCentralMCMultiplicityTask.cxx:99 AliCentralMCMultiplicityTask.cxx:100 AliCentralMCMultiplicityTask.cxx:101 AliCentralMCMultiplicityTask.cxx:102 AliCentralMCMultiplicityTask.cxx:103 AliCentralMCMultiplicityTask.cxx:104 AliCentralMCMultiplicityTask.cxx:105 AliCentralMCMultiplicityTask.cxx:106 AliCentralMCMultiplicityTask.cxx:107 AliCentralMCMultiplicityTask.cxx:108 AliCentralMCMultiplicityTask.cxx:109 AliCentralMCMultiplicityTask.cxx:110 AliCentralMCMultiplicityTask.cxx:111 AliCentralMCMultiplicityTask.cxx:112 AliCentralMCMultiplicityTask.cxx:113 AliCentralMCMultiplicityTask.cxx:114 AliCentralMCMultiplicityTask.cxx:115 AliCentralMCMultiplicityTask.cxx:116 AliCentralMCMultiplicityTask.cxx:117 AliCentralMCMultiplicityTask.cxx:118 AliCentralMCMultiplicityTask.cxx:119 AliCentralMCMultiplicityTask.cxx:120 AliCentralMCMultiplicityTask.cxx:121 AliCentralMCMultiplicityTask.cxx:122 AliCentralMCMultiplicityTask.cxx:123 AliCentralMCMultiplicityTask.cxx:124 AliCentralMCMultiplicityTask.cxx:125 AliCentralMCMultiplicityTask.cxx:126 AliCentralMCMultiplicityTask.cxx:127 AliCentralMCMultiplicityTask.cxx:128 AliCentralMCMultiplicityTask.cxx:129 AliCentralMCMultiplicityTask.cxx:130 AliCentralMCMultiplicityTask.cxx:131 AliCentralMCMultiplicityTask.cxx:132 AliCentralMCMultiplicityTask.cxx:133 AliCentralMCMultiplicityTask.cxx:134 AliCentralMCMultiplicityTask.cxx:135 AliCentralMCMultiplicityTask.cxx:136 AliCentralMCMultiplicityTask.cxx:137 AliCentralMCMultiplicityTask.cxx:138 AliCentralMCMultiplicityTask.cxx:139 AliCentralMCMultiplicityTask.cxx:140 AliCentralMCMultiplicityTask.cxx:141 AliCentralMCMultiplicityTask.cxx:142 AliCentralMCMultiplicityTask.cxx:143 AliCentralMCMultiplicityTask.cxx:144 AliCentralMCMultiplicityTask.cxx:145 AliCentralMCMultiplicityTask.cxx:146 AliCentralMCMultiplicityTask.cxx:147 AliCentralMCMultiplicityTask.cxx:148 AliCentralMCMultiplicityTask.cxx:149 AliCentralMCMultiplicityTask.cxx:150 AliCentralMCMultiplicityTask.cxx:151 AliCentralMCMultiplicityTask.cxx:152 AliCentralMCMultiplicityTask.cxx:153 AliCentralMCMultiplicityTask.cxx:154 AliCentralMCMultiplicityTask.cxx:155 AliCentralMCMultiplicityTask.cxx:156 AliCentralMCMultiplicityTask.cxx:157 AliCentralMCMultiplicityTask.cxx:158 AliCentralMCMultiplicityTask.cxx:159 AliCentralMCMultiplicityTask.cxx:160 AliCentralMCMultiplicityTask.cxx:161 AliCentralMCMultiplicityTask.cxx:162 AliCentralMCMultiplicityTask.cxx:163 AliCentralMCMultiplicityTask.cxx:164 AliCentralMCMultiplicityTask.cxx:165 AliCentralMCMultiplicityTask.cxx:166 AliCentralMCMultiplicityTask.cxx:167 AliCentralMCMultiplicityTask.cxx:168 AliCentralMCMultiplicityTask.cxx:169 AliCentralMCMultiplicityTask.cxx:170 AliCentralMCMultiplicityTask.cxx:171 AliCentralMCMultiplicityTask.cxx:172 AliCentralMCMultiplicityTask.cxx:173 AliCentralMCMultiplicityTask.cxx:174 AliCentralMCMultiplicityTask.cxx:175 AliCentralMCMultiplicityTask.cxx:176 AliCentralMCMultiplicityTask.cxx:177 AliCentralMCMultiplicityTask.cxx:178 AliCentralMCMultiplicityTask.cxx:179 AliCentralMCMultiplicityTask.cxx:180 AliCentralMCMultiplicityTask.cxx:181 AliCentralMCMultiplicityTask.cxx:182 AliCentralMCMultiplicityTask.cxx:183 AliCentralMCMultiplicityTask.cxx:184 AliCentralMCMultiplicityTask.cxx:185 AliCentralMCMultiplicityTask.cxx:186 AliCentralMCMultiplicityTask.cxx:187