#include "Riostream.h" //needed as include
#include "TChain.h"
#include "TTree.h"
#include "TFile.h" //needed as include
#include "TList.h"
#include "TRandom3.h"
#include "TTimeStamp.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliESDInputHandler.h"
#include "AliAODEvent.h"
#include "AliAODInputHandler.h"
#include "AliAODHandler.h"
#include "AliMCEventHandler.h"
#include "AliMCEvent.h"
#include "AliCFManager.h"
#include "AliGenCocktailEventHeader.h"
#include "AliGenHijingEventHeader.h"
#include "AliGenGeVSimEventHeader.h"
#include "AliGenEposEventHeader.h"
#include "AliFlowEvent.h"
#include "AliFlowVector.h"
#include "AliAnalysisTaskFlowEventforRP.h"
using std::cout;
using std::endl;
ClassImp(AliAnalysisTaskFlowEventforRP)
AliAnalysisTaskFlowEventforRP::AliAnalysisTaskFlowEventforRP(const char *name) :
AliAnalysisTaskSE(name),
fAnalysisType("ESD"),
fCFManager1(NULL),
fCFManager2(NULL),
fMinMult(0),
fMaxMult(10000000),
fMCReactionPlaneAngle(0.)
{
cout<<"AliAnalysisTaskFlowEventforRP::AliAnalysisTaskFlowEventforRP(const char *name)"<<endl;
DefineInput(0, TChain::Class());
DefineOutput(0, AliFlowEventSimple::Class());
}
AliAnalysisTaskFlowEventforRP::AliAnalysisTaskFlowEventforRP() :
fAnalysisType("ESD"),
fCFManager1(NULL),
fCFManager2(NULL),
fMinMult(0),
fMaxMult(10000000),
fMCReactionPlaneAngle(0.)
{
cout<<"AliAnalysisTaskFlowEventforRP::AliAnalysisTaskFlowEventforRP()"<<endl;
}
AliAnalysisTaskFlowEventforRP::~AliAnalysisTaskFlowEventforRP()
{
}
void AliAnalysisTaskFlowEventforRP::UserCreateOutputObjects()
{
cout<<"AliAnalysisTaskFlowEventforRP::UserCreateOutputObjects()"<<endl;
if (!(fAnalysisType == "ESD")) {
cout<<"WRONG ANALYSIS TYPE! only ESD for this method."<<endl;
exit(1);
}
}
void AliAnalysisTaskFlowEventforRP::UserExec(Option_t *)
{
AliESDEvent* esd = dynamic_cast<AliESDEvent*>(InputEvent());
AliFlowEvent* fEvent = NULL;
AliMCEvent* mcEvent = MCEvent();
Double_t fRP = 0.;
if (fAnalysisType == "ESD") {
if (!(fCFManager1&&fCFManager2))
{
cout << "ERROR: No pointer to correction framework cuts! " << endl;
return;
}
if (!esd)
{
AliError("ERROR: ESD not available");
return;
}
if (!fCFManager1->CheckEventCuts(AliCFManager::kEvtRecCuts,esd))
{
cout << "Event does not pass multiplicity cuts" << endl;
return;
}
fEvent = new AliFlowEvent(esd,fCFManager1,fCFManager2);
if (mcEvent && mcEvent->GenEventHeader())
{
fEvent->SetMCReactionPlaneAngle(mcEvent);
fRP = fEvent->GetMCReactionPlaneAngle();
}
Int_t mult = fEvent->NumberOfTracks();
cout << "FlowEvent has "<<mult<<" tracks"<<endl;
if (mult<fMinMult || mult>fMaxMult)
{
cout << "FlowEvent cut on multiplicity" << endl;
return;
}
AliFlowVector vQ = fEvent->GetQ();
Double_t dRP[1] = {0.0};
dRP[0] = vQ.Phi()/2;
cout<<"The reaction plane from MC is "<<fRP<<endl;
cout<<"The calculated reaction plane is "<<dRP[0]<<endl;
AliAODHeader* header = dynamic_cast<AliAODHeader*>(AODEvent()->GetHeader());
if(!header) AliFatal("Not a standard AOD");
header->SetRunNumber(esd->GetRunNumber());
header->SetQTheta(dRP,1);
}
PostData(0,fEvent);
}
void AliAnalysisTaskFlowEventforRP::Terminate(Option_t *)
{
}
AliAnalysisTaskFlowEventforRP.cxx:1 AliAnalysisTaskFlowEventforRP.cxx:2 AliAnalysisTaskFlowEventforRP.cxx:3 AliAnalysisTaskFlowEventforRP.cxx:4 AliAnalysisTaskFlowEventforRP.cxx:5 AliAnalysisTaskFlowEventforRP.cxx:6 AliAnalysisTaskFlowEventforRP.cxx:7 AliAnalysisTaskFlowEventforRP.cxx:8 AliAnalysisTaskFlowEventforRP.cxx:9 AliAnalysisTaskFlowEventforRP.cxx:10 AliAnalysisTaskFlowEventforRP.cxx:11 AliAnalysisTaskFlowEventforRP.cxx:12 AliAnalysisTaskFlowEventforRP.cxx:13 AliAnalysisTaskFlowEventforRP.cxx:14 AliAnalysisTaskFlowEventforRP.cxx:15 AliAnalysisTaskFlowEventforRP.cxx:16 AliAnalysisTaskFlowEventforRP.cxx:17 AliAnalysisTaskFlowEventforRP.cxx:18 AliAnalysisTaskFlowEventforRP.cxx:19 AliAnalysisTaskFlowEventforRP.cxx:20 AliAnalysisTaskFlowEventforRP.cxx:21 AliAnalysisTaskFlowEventforRP.cxx:22 AliAnalysisTaskFlowEventforRP.cxx:23 AliAnalysisTaskFlowEventforRP.cxx:24 AliAnalysisTaskFlowEventforRP.cxx:25 AliAnalysisTaskFlowEventforRP.cxx:26 AliAnalysisTaskFlowEventforRP.cxx:27 AliAnalysisTaskFlowEventforRP.cxx:28 AliAnalysisTaskFlowEventforRP.cxx:29 AliAnalysisTaskFlowEventforRP.cxx:30 AliAnalysisTaskFlowEventforRP.cxx:31 AliAnalysisTaskFlowEventforRP.cxx:32 AliAnalysisTaskFlowEventforRP.cxx:33 AliAnalysisTaskFlowEventforRP.cxx:34 AliAnalysisTaskFlowEventforRP.cxx:35 AliAnalysisTaskFlowEventforRP.cxx:36 AliAnalysisTaskFlowEventforRP.cxx:37 AliAnalysisTaskFlowEventforRP.cxx:38 AliAnalysisTaskFlowEventforRP.cxx:39 AliAnalysisTaskFlowEventforRP.cxx:40 AliAnalysisTaskFlowEventforRP.cxx:41 AliAnalysisTaskFlowEventforRP.cxx:42 AliAnalysisTaskFlowEventforRP.cxx:43 AliAnalysisTaskFlowEventforRP.cxx:44 AliAnalysisTaskFlowEventforRP.cxx:45 AliAnalysisTaskFlowEventforRP.cxx:46 AliAnalysisTaskFlowEventforRP.cxx:47 AliAnalysisTaskFlowEventforRP.cxx:48 AliAnalysisTaskFlowEventforRP.cxx:49 AliAnalysisTaskFlowEventforRP.cxx:50 AliAnalysisTaskFlowEventforRP.cxx:51 AliAnalysisTaskFlowEventforRP.cxx:52 AliAnalysisTaskFlowEventforRP.cxx:53 AliAnalysisTaskFlowEventforRP.cxx:54 AliAnalysisTaskFlowEventforRP.cxx:55 AliAnalysisTaskFlowEventforRP.cxx:56 AliAnalysisTaskFlowEventforRP.cxx:57 AliAnalysisTaskFlowEventforRP.cxx:58 AliAnalysisTaskFlowEventforRP.cxx:59 AliAnalysisTaskFlowEventforRP.cxx:60 AliAnalysisTaskFlowEventforRP.cxx:61 AliAnalysisTaskFlowEventforRP.cxx:62 AliAnalysisTaskFlowEventforRP.cxx:63 AliAnalysisTaskFlowEventforRP.cxx:64 AliAnalysisTaskFlowEventforRP.cxx:65 AliAnalysisTaskFlowEventforRP.cxx:66 AliAnalysisTaskFlowEventforRP.cxx:67 AliAnalysisTaskFlowEventforRP.cxx:68 AliAnalysisTaskFlowEventforRP.cxx:69 AliAnalysisTaskFlowEventforRP.cxx:70 AliAnalysisTaskFlowEventforRP.cxx:71 AliAnalysisTaskFlowEventforRP.cxx:72 AliAnalysisTaskFlowEventforRP.cxx:73 AliAnalysisTaskFlowEventforRP.cxx:74 AliAnalysisTaskFlowEventforRP.cxx:75 AliAnalysisTaskFlowEventforRP.cxx:76 AliAnalysisTaskFlowEventforRP.cxx:77 AliAnalysisTaskFlowEventforRP.cxx:78 AliAnalysisTaskFlowEventforRP.cxx:79 AliAnalysisTaskFlowEventforRP.cxx:80 AliAnalysisTaskFlowEventforRP.cxx:81 AliAnalysisTaskFlowEventforRP.cxx:82 AliAnalysisTaskFlowEventforRP.cxx:83 AliAnalysisTaskFlowEventforRP.cxx:84 AliAnalysisTaskFlowEventforRP.cxx:85 AliAnalysisTaskFlowEventforRP.cxx:86 AliAnalysisTaskFlowEventforRP.cxx:87 AliAnalysisTaskFlowEventforRP.cxx:88 AliAnalysisTaskFlowEventforRP.cxx:89 AliAnalysisTaskFlowEventforRP.cxx:90 AliAnalysisTaskFlowEventforRP.cxx:91 AliAnalysisTaskFlowEventforRP.cxx:92 AliAnalysisTaskFlowEventforRP.cxx:93 AliAnalysisTaskFlowEventforRP.cxx:94 AliAnalysisTaskFlowEventforRP.cxx:95 AliAnalysisTaskFlowEventforRP.cxx:96 AliAnalysisTaskFlowEventforRP.cxx:97 AliAnalysisTaskFlowEventforRP.cxx:98 AliAnalysisTaskFlowEventforRP.cxx:99 AliAnalysisTaskFlowEventforRP.cxx:100 AliAnalysisTaskFlowEventforRP.cxx:101 AliAnalysisTaskFlowEventforRP.cxx:102 AliAnalysisTaskFlowEventforRP.cxx:103 AliAnalysisTaskFlowEventforRP.cxx:104 AliAnalysisTaskFlowEventforRP.cxx:105 AliAnalysisTaskFlowEventforRP.cxx:106 AliAnalysisTaskFlowEventforRP.cxx:107 AliAnalysisTaskFlowEventforRP.cxx:108 AliAnalysisTaskFlowEventforRP.cxx:109 AliAnalysisTaskFlowEventforRP.cxx:110 AliAnalysisTaskFlowEventforRP.cxx:111 AliAnalysisTaskFlowEventforRP.cxx:112 AliAnalysisTaskFlowEventforRP.cxx:113 AliAnalysisTaskFlowEventforRP.cxx:114 AliAnalysisTaskFlowEventforRP.cxx:115 AliAnalysisTaskFlowEventforRP.cxx:116 AliAnalysisTaskFlowEventforRP.cxx:117 AliAnalysisTaskFlowEventforRP.cxx:118 AliAnalysisTaskFlowEventforRP.cxx:119 AliAnalysisTaskFlowEventforRP.cxx:120 AliAnalysisTaskFlowEventforRP.cxx:121 AliAnalysisTaskFlowEventforRP.cxx:122 AliAnalysisTaskFlowEventforRP.cxx:123 AliAnalysisTaskFlowEventforRP.cxx:124 AliAnalysisTaskFlowEventforRP.cxx:125 AliAnalysisTaskFlowEventforRP.cxx:126 AliAnalysisTaskFlowEventforRP.cxx:127 AliAnalysisTaskFlowEventforRP.cxx:128 AliAnalysisTaskFlowEventforRP.cxx:129 AliAnalysisTaskFlowEventforRP.cxx:130 AliAnalysisTaskFlowEventforRP.cxx:131 AliAnalysisTaskFlowEventforRP.cxx:132 AliAnalysisTaskFlowEventforRP.cxx:133 AliAnalysisTaskFlowEventforRP.cxx:134 AliAnalysisTaskFlowEventforRP.cxx:135 AliAnalysisTaskFlowEventforRP.cxx:136 AliAnalysisTaskFlowEventforRP.cxx:137 AliAnalysisTaskFlowEventforRP.cxx:138 AliAnalysisTaskFlowEventforRP.cxx:139 AliAnalysisTaskFlowEventforRP.cxx:140 AliAnalysisTaskFlowEventforRP.cxx:141 AliAnalysisTaskFlowEventforRP.cxx:142 AliAnalysisTaskFlowEventforRP.cxx:143 AliAnalysisTaskFlowEventforRP.cxx:144 AliAnalysisTaskFlowEventforRP.cxx:145 AliAnalysisTaskFlowEventforRP.cxx:146 AliAnalysisTaskFlowEventforRP.cxx:147 AliAnalysisTaskFlowEventforRP.cxx:148 AliAnalysisTaskFlowEventforRP.cxx:149 AliAnalysisTaskFlowEventforRP.cxx:150 AliAnalysisTaskFlowEventforRP.cxx:151 AliAnalysisTaskFlowEventforRP.cxx:152 AliAnalysisTaskFlowEventforRP.cxx:153 AliAnalysisTaskFlowEventforRP.cxx:154 AliAnalysisTaskFlowEventforRP.cxx:155 AliAnalysisTaskFlowEventforRP.cxx:156 AliAnalysisTaskFlowEventforRP.cxx:157 AliAnalysisTaskFlowEventforRP.cxx:158 AliAnalysisTaskFlowEventforRP.cxx:159 AliAnalysisTaskFlowEventforRP.cxx:160 AliAnalysisTaskFlowEventforRP.cxx:161 AliAnalysisTaskFlowEventforRP.cxx:162 AliAnalysisTaskFlowEventforRP.cxx:163 AliAnalysisTaskFlowEventforRP.cxx:164 AliAnalysisTaskFlowEventforRP.cxx:165 AliAnalysisTaskFlowEventforRP.cxx:166 AliAnalysisTaskFlowEventforRP.cxx:167 AliAnalysisTaskFlowEventforRP.cxx:168 AliAnalysisTaskFlowEventforRP.cxx:169 AliAnalysisTaskFlowEventforRP.cxx:170 AliAnalysisTaskFlowEventforRP.cxx:171 AliAnalysisTaskFlowEventforRP.cxx:172 AliAnalysisTaskFlowEventforRP.cxx:173 AliAnalysisTaskFlowEventforRP.cxx:174 AliAnalysisTaskFlowEventforRP.cxx:175 AliAnalysisTaskFlowEventforRP.cxx:176 AliAnalysisTaskFlowEventforRP.cxx:177 AliAnalysisTaskFlowEventforRP.cxx:178 AliAnalysisTaskFlowEventforRP.cxx:179 AliAnalysisTaskFlowEventforRP.cxx:180 AliAnalysisTaskFlowEventforRP.cxx:181 AliAnalysisTaskFlowEventforRP.cxx:182 AliAnalysisTaskFlowEventforRP.cxx:183 AliAnalysisTaskFlowEventforRP.cxx:184 AliAnalysisTaskFlowEventforRP.cxx:185 AliAnalysisTaskFlowEventforRP.cxx:186 AliAnalysisTaskFlowEventforRP.cxx:187 AliAnalysisTaskFlowEventforRP.cxx:188 AliAnalysisTaskFlowEventforRP.cxx:189 AliAnalysisTaskFlowEventforRP.cxx:190 AliAnalysisTaskFlowEventforRP.cxx:191 AliAnalysisTaskFlowEventforRP.cxx:192 AliAnalysisTaskFlowEventforRP.cxx:193 AliAnalysisTaskFlowEventforRP.cxx:194 AliAnalysisTaskFlowEventforRP.cxx:195 AliAnalysisTaskFlowEventforRP.cxx:196 AliAnalysisTaskFlowEventforRP.cxx:197 AliAnalysisTaskFlowEventforRP.cxx:198 AliAnalysisTaskFlowEventforRP.cxx:199 AliAnalysisTaskFlowEventforRP.cxx:200 AliAnalysisTaskFlowEventforRP.cxx:201 AliAnalysisTaskFlowEventforRP.cxx:202 AliAnalysisTaskFlowEventforRP.cxx:203 AliAnalysisTaskFlowEventforRP.cxx:204 AliAnalysisTaskFlowEventforRP.cxx:205 AliAnalysisTaskFlowEventforRP.cxx:206 AliAnalysisTaskFlowEventforRP.cxx:207 AliAnalysisTaskFlowEventforRP.cxx:208 AliAnalysisTaskFlowEventforRP.cxx:209 AliAnalysisTaskFlowEventforRP.cxx:210 AliAnalysisTaskFlowEventforRP.cxx:211 AliAnalysisTaskFlowEventforRP.cxx:212 AliAnalysisTaskFlowEventforRP.cxx:213 AliAnalysisTaskFlowEventforRP.cxx:214