#include <TROOT.h>
#include <TSystem.h>
#include <TClonesArray.h>
#include <TList.h>
#include <TString.h>
#include "AliVEvent.h"
#include "AliAODEvent.h"
#include "AliAODHandler.h"
#include "AliESDEvent.h"
#include "AliAnalysisVertexingHF.h"
#include "AliAnalysisTaskSE.h"
#include "AliAnalysisManager.h"
#include "AliAnalysisTaskSEVertexingHF.h"
#include "AliESDUtils.h"
#include "AliAODHFUtil.h"
#include "AliInputEventHandler.h"
#include "AliPIDResponse.h"
ClassImp(AliAnalysisTaskSEVertexingHF)
AliAnalysisTaskSEVertexingHF::AliAnalysisTaskSEVertexingHF():
AliAnalysisTaskSE(),
fVHF(0),
fListOfCuts(0),
fDeltaAODFileName("AliAOD.VertexingHF.root"),
fVerticesHFTClArr(0),
fD0toKpiTClArr(0),
fJPSItoEleTClArr(0),
fCharm3ProngTClArr(0),
fCharm4ProngTClArr(0),
fDstarTClArr(0),
fCascadesTClArr(0),
fLikeSign2ProngTClArr(0),
fLikeSign3ProngTClArr(0),
fHFUtilInfo(0)
{
}
AliAnalysisTaskSEVertexingHF::AliAnalysisTaskSEVertexingHF(const char *name):
AliAnalysisTaskSE(name),
fVHF(0),
fListOfCuts(0),
fDeltaAODFileName("AliAOD.VertexingHF.root"),
fVerticesHFTClArr(0),
fD0toKpiTClArr(0),
fJPSItoEleTClArr(0),
fCharm3ProngTClArr(0),
fCharm4ProngTClArr(0),
fDstarTClArr(0),
fCascadesTClArr(0),
fLikeSign2ProngTClArr(0),
fLikeSign3ProngTClArr(0),
fHFUtilInfo(0)
{
DefineOutput(1,TList::Class());
}
AliAnalysisTaskSEVertexingHF::~AliAnalysisTaskSEVertexingHF()
{
if(fListOfCuts) {
delete fListOfCuts;
fListOfCuts=NULL;
}
}
void AliAnalysisTaskSEVertexingHF::Init()
{
if(fDebug > 1) printf("AnalysisTaskSEVertexingHF::Init() \n");
if(gROOT->LoadMacro("ConfigVertexingHF.C")) {
printf("AnalysisTaskSEVertexingHF::Init() \n Using $ALICE_ROOT/PWGHF/vertexingHF/ConfigVertexingHF.C\n");
gROOT->LoadMacro("$ALICE_ROOT/PWGHF/vertexingHF/ConfigVertexingHF.C");
}
fVHF = (AliAnalysisVertexingHF*)gROOT->ProcessLine("ConfigVertexingHF()");
fVHF->PrintStatus();
fListOfCuts = fVHF->FillListOfCuts();
PostData(1,fListOfCuts);
AliAnalysisManager::GetAnalysisManager()->RegisterExtraFile(fDeltaAODFileName.Data());
return;
}
void AliAnalysisTaskSEVertexingHF::UserCreateOutputObjects()
{
if(fDebug > 1) printf("AnalysisTaskSEVertexingHF::UserCreateOutPutData() \n");
if(!AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()) {
Fatal("UserCreateOutputObjects", "This task needs an AOD handler");
return;
}
TString filename = fDeltaAODFileName;
if(!IsStandardAOD() && AODEvent()) filename = "";
if(!fVHF) {
printf("AnalysisTaskSEVertexingHF::UserCreateOutPutData() \n ERROR! no fvHF!\n");
return;
}
fVerticesHFTClArr = new TClonesArray("AliAODVertex", 0);
fVerticesHFTClArr->SetName("VerticesHF");
AddAODBranch("TClonesArray", &fVerticesHFTClArr, filename);
if(fVHF->GetD0toKpi()) {
fD0toKpiTClArr = new TClonesArray("AliAODRecoDecayHF2Prong", 0);
fD0toKpiTClArr->SetName("D0toKpi");
AddAODBranch("TClonesArray", &fD0toKpiTClArr, filename);
}
if(fVHF->GetJPSItoEle()) {
fJPSItoEleTClArr = new TClonesArray("AliAODRecoDecayHF2Prong", 0);
fJPSItoEleTClArr->SetName("JPSItoEle");
AddAODBranch("TClonesArray", &fJPSItoEleTClArr, filename);
}
if(fVHF->Get3Prong()) {
fCharm3ProngTClArr = new TClonesArray("AliAODRecoDecayHF3Prong", 0);
fCharm3ProngTClArr->SetName("Charm3Prong");
AddAODBranch("TClonesArray", &fCharm3ProngTClArr, filename);
}
if(fVHF->Get4Prong()) {
fCharm4ProngTClArr = new TClonesArray("AliAODRecoDecayHF4Prong", 0);
fCharm4ProngTClArr->SetName("Charm4Prong");
AddAODBranch("TClonesArray", &fCharm4ProngTClArr, filename);
}
if(fVHF->GetDstar()) {
fDstarTClArr = new TClonesArray("AliAODRecoCascadeHF", 0);
fDstarTClArr->SetName("Dstar");
AddAODBranch("TClonesArray", &fDstarTClArr, filename);
}
if(fVHF->GetCascades()){
fCascadesTClArr = new TClonesArray("AliAODRecoCascadeHF", 0);
fCascadesTClArr->SetName("CascadesHF");
AddAODBranch("TClonesArray", &fCascadesTClArr, filename);
}
if(fVHF->GetLikeSign()) {
fLikeSign2ProngTClArr = new TClonesArray("AliAODRecoDecayHF2Prong", 0);
fLikeSign2ProngTClArr->SetName("LikeSign2Prong");
AddAODBranch("TClonesArray", &fLikeSign2ProngTClArr, filename);
}
if(fVHF->GetLikeSign() && fVHF->Get3Prong()) {
fLikeSign3ProngTClArr = new TClonesArray("AliAODRecoDecayHF3Prong", 0);
fLikeSign3ProngTClArr->SetName("LikeSign3Prong");
AddAODBranch("TClonesArray", &fLikeSign3ProngTClArr, filename);
}
fHFUtilInfo = new AliAODHFUtil("fHFUtilInfoC");
fHFUtilInfo->SetName("fHFUtilInfo");
AddAODBranch( "AliAODHFUtil", &fHFUtilInfo, filename);
return;
}
void AliAnalysisTaskSEVertexingHF::UserExec(Option_t *)
{
AliVEvent *event = dynamic_cast<AliVEvent*> (InputEvent());
if (AODEvent() && IsStandardAOD()) event = dynamic_cast<AliVEvent*> (AODEvent());
if (dynamic_cast<AliAODEvent*>(event)) {
AliAODHandler *aodhandler = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler());
if (aodhandler) aodhandler->SetFillExtension(kTRUE);
}
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
AliInputEventHandler *inputHandler=(AliInputEventHandler*)mgr->GetInputEventHandler();
AliPIDResponse *pidResp=inputHandler->GetPIDResponse();
fVHF->SetPidResponse(pidResp);
fVHF->FindCandidates(event,
fVerticesHFTClArr,
fD0toKpiTClArr,
fJPSItoEleTClArr,
fCharm3ProngTClArr,
fCharm4ProngTClArr,
fDstarTClArr,
fCascadesTClArr,
fLikeSign2ProngTClArr,
fLikeSign3ProngTClArr);
AliESDEvent *eventE = dynamic_cast<AliESDEvent*> (InputEvent());
if(eventE) {
Float_t *vChCorr = new Float_t[64];
Float_t dummy;
AliESDUtils::GetCorrV0(eventE,dummy,NULL,vChCorr);
fHFUtilInfo->SetVZERO( vChCorr );
delete [] vChCorr;
}
return;
}
void AliAnalysisTaskSEVertexingHF::Terminate(Option_t *)
{
if(fDebug > 1) printf("AnalysisTaskSEVertexingHF: Terminate() \n");
}
AliAnalysisTaskSEVertexingHF.cxx:1 AliAnalysisTaskSEVertexingHF.cxx:2 AliAnalysisTaskSEVertexingHF.cxx:3 AliAnalysisTaskSEVertexingHF.cxx:4 AliAnalysisTaskSEVertexingHF.cxx:5 AliAnalysisTaskSEVertexingHF.cxx:6 AliAnalysisTaskSEVertexingHF.cxx:7 AliAnalysisTaskSEVertexingHF.cxx:8 AliAnalysisTaskSEVertexingHF.cxx:9 AliAnalysisTaskSEVertexingHF.cxx:10 AliAnalysisTaskSEVertexingHF.cxx:11 AliAnalysisTaskSEVertexingHF.cxx:12 AliAnalysisTaskSEVertexingHF.cxx:13 AliAnalysisTaskSEVertexingHF.cxx:14 AliAnalysisTaskSEVertexingHF.cxx:15 AliAnalysisTaskSEVertexingHF.cxx:16 AliAnalysisTaskSEVertexingHF.cxx:17 AliAnalysisTaskSEVertexingHF.cxx:18 AliAnalysisTaskSEVertexingHF.cxx:19 AliAnalysisTaskSEVertexingHF.cxx:20 AliAnalysisTaskSEVertexingHF.cxx:21 AliAnalysisTaskSEVertexingHF.cxx:22 AliAnalysisTaskSEVertexingHF.cxx:23 AliAnalysisTaskSEVertexingHF.cxx:24 AliAnalysisTaskSEVertexingHF.cxx:25 AliAnalysisTaskSEVertexingHF.cxx:26 AliAnalysisTaskSEVertexingHF.cxx:27 AliAnalysisTaskSEVertexingHF.cxx:28 AliAnalysisTaskSEVertexingHF.cxx:29 AliAnalysisTaskSEVertexingHF.cxx:30 AliAnalysisTaskSEVertexingHF.cxx:31 AliAnalysisTaskSEVertexingHF.cxx:32 AliAnalysisTaskSEVertexingHF.cxx:33 AliAnalysisTaskSEVertexingHF.cxx:34 AliAnalysisTaskSEVertexingHF.cxx:35 AliAnalysisTaskSEVertexingHF.cxx:36 AliAnalysisTaskSEVertexingHF.cxx:37 AliAnalysisTaskSEVertexingHF.cxx:38 AliAnalysisTaskSEVertexingHF.cxx:39 AliAnalysisTaskSEVertexingHF.cxx:40 AliAnalysisTaskSEVertexingHF.cxx:41 AliAnalysisTaskSEVertexingHF.cxx:42 AliAnalysisTaskSEVertexingHF.cxx:43 AliAnalysisTaskSEVertexingHF.cxx:44 AliAnalysisTaskSEVertexingHF.cxx:45 AliAnalysisTaskSEVertexingHF.cxx:46 AliAnalysisTaskSEVertexingHF.cxx:47 AliAnalysisTaskSEVertexingHF.cxx:48 AliAnalysisTaskSEVertexingHF.cxx:49 AliAnalysisTaskSEVertexingHF.cxx:50 AliAnalysisTaskSEVertexingHF.cxx:51 AliAnalysisTaskSEVertexingHF.cxx:52 AliAnalysisTaskSEVertexingHF.cxx:53 AliAnalysisTaskSEVertexingHF.cxx:54 AliAnalysisTaskSEVertexingHF.cxx:55 AliAnalysisTaskSEVertexingHF.cxx:56 AliAnalysisTaskSEVertexingHF.cxx:57 AliAnalysisTaskSEVertexingHF.cxx:58 AliAnalysisTaskSEVertexingHF.cxx:59 AliAnalysisTaskSEVertexingHF.cxx:60 AliAnalysisTaskSEVertexingHF.cxx:61 AliAnalysisTaskSEVertexingHF.cxx:62 AliAnalysisTaskSEVertexingHF.cxx:63 AliAnalysisTaskSEVertexingHF.cxx:64 AliAnalysisTaskSEVertexingHF.cxx:65 AliAnalysisTaskSEVertexingHF.cxx:66 AliAnalysisTaskSEVertexingHF.cxx:67 AliAnalysisTaskSEVertexingHF.cxx:68 AliAnalysisTaskSEVertexingHF.cxx:69 AliAnalysisTaskSEVertexingHF.cxx:70 AliAnalysisTaskSEVertexingHF.cxx:71 AliAnalysisTaskSEVertexingHF.cxx:72 AliAnalysisTaskSEVertexingHF.cxx:73 AliAnalysisTaskSEVertexingHF.cxx:74 AliAnalysisTaskSEVertexingHF.cxx:75 AliAnalysisTaskSEVertexingHF.cxx:76 AliAnalysisTaskSEVertexingHF.cxx:77 AliAnalysisTaskSEVertexingHF.cxx:78 AliAnalysisTaskSEVertexingHF.cxx:79 AliAnalysisTaskSEVertexingHF.cxx:80 AliAnalysisTaskSEVertexingHF.cxx:81 AliAnalysisTaskSEVertexingHF.cxx:82 AliAnalysisTaskSEVertexingHF.cxx:83 AliAnalysisTaskSEVertexingHF.cxx:84 AliAnalysisTaskSEVertexingHF.cxx:85 AliAnalysisTaskSEVertexingHF.cxx:86 AliAnalysisTaskSEVertexingHF.cxx:87 AliAnalysisTaskSEVertexingHF.cxx:88 AliAnalysisTaskSEVertexingHF.cxx:89 AliAnalysisTaskSEVertexingHF.cxx:90 AliAnalysisTaskSEVertexingHF.cxx:91 AliAnalysisTaskSEVertexingHF.cxx:92 AliAnalysisTaskSEVertexingHF.cxx:93 AliAnalysisTaskSEVertexingHF.cxx:94 AliAnalysisTaskSEVertexingHF.cxx:95 AliAnalysisTaskSEVertexingHF.cxx:96 AliAnalysisTaskSEVertexingHF.cxx:97 AliAnalysisTaskSEVertexingHF.cxx:98 AliAnalysisTaskSEVertexingHF.cxx:99 AliAnalysisTaskSEVertexingHF.cxx:100 AliAnalysisTaskSEVertexingHF.cxx:101 AliAnalysisTaskSEVertexingHF.cxx:102 AliAnalysisTaskSEVertexingHF.cxx:103 AliAnalysisTaskSEVertexingHF.cxx:104 AliAnalysisTaskSEVertexingHF.cxx:105 AliAnalysisTaskSEVertexingHF.cxx:106 AliAnalysisTaskSEVertexingHF.cxx:107 AliAnalysisTaskSEVertexingHF.cxx:108 AliAnalysisTaskSEVertexingHF.cxx:109 AliAnalysisTaskSEVertexingHF.cxx:110 AliAnalysisTaskSEVertexingHF.cxx:111 AliAnalysisTaskSEVertexingHF.cxx:112 AliAnalysisTaskSEVertexingHF.cxx:113 AliAnalysisTaskSEVertexingHF.cxx:114 AliAnalysisTaskSEVertexingHF.cxx:115 AliAnalysisTaskSEVertexingHF.cxx:116 AliAnalysisTaskSEVertexingHF.cxx:117 AliAnalysisTaskSEVertexingHF.cxx:118 AliAnalysisTaskSEVertexingHF.cxx:119 AliAnalysisTaskSEVertexingHF.cxx:120 AliAnalysisTaskSEVertexingHF.cxx:121 AliAnalysisTaskSEVertexingHF.cxx:122 AliAnalysisTaskSEVertexingHF.cxx:123 AliAnalysisTaskSEVertexingHF.cxx:124 AliAnalysisTaskSEVertexingHF.cxx:125 AliAnalysisTaskSEVertexingHF.cxx:126 AliAnalysisTaskSEVertexingHF.cxx:127 AliAnalysisTaskSEVertexingHF.cxx:128 AliAnalysisTaskSEVertexingHF.cxx:129 AliAnalysisTaskSEVertexingHF.cxx:130 AliAnalysisTaskSEVertexingHF.cxx:131 AliAnalysisTaskSEVertexingHF.cxx:132 AliAnalysisTaskSEVertexingHF.cxx:133 AliAnalysisTaskSEVertexingHF.cxx:134 AliAnalysisTaskSEVertexingHF.cxx:135 AliAnalysisTaskSEVertexingHF.cxx:136 AliAnalysisTaskSEVertexingHF.cxx:137 AliAnalysisTaskSEVertexingHF.cxx:138 AliAnalysisTaskSEVertexingHF.cxx:139 AliAnalysisTaskSEVertexingHF.cxx:140 AliAnalysisTaskSEVertexingHF.cxx:141 AliAnalysisTaskSEVertexingHF.cxx:142 AliAnalysisTaskSEVertexingHF.cxx:143 AliAnalysisTaskSEVertexingHF.cxx:144 AliAnalysisTaskSEVertexingHF.cxx:145 AliAnalysisTaskSEVertexingHF.cxx:146 AliAnalysisTaskSEVertexingHF.cxx:147 AliAnalysisTaskSEVertexingHF.cxx:148 AliAnalysisTaskSEVertexingHF.cxx:149 AliAnalysisTaskSEVertexingHF.cxx:150 AliAnalysisTaskSEVertexingHF.cxx:151 AliAnalysisTaskSEVertexingHF.cxx:152 AliAnalysisTaskSEVertexingHF.cxx:153 AliAnalysisTaskSEVertexingHF.cxx:154 AliAnalysisTaskSEVertexingHF.cxx:155 AliAnalysisTaskSEVertexingHF.cxx:156 AliAnalysisTaskSEVertexingHF.cxx:157 AliAnalysisTaskSEVertexingHF.cxx:158 AliAnalysisTaskSEVertexingHF.cxx:159 AliAnalysisTaskSEVertexingHF.cxx:160 AliAnalysisTaskSEVertexingHF.cxx:161 AliAnalysisTaskSEVertexingHF.cxx:162 AliAnalysisTaskSEVertexingHF.cxx:163 AliAnalysisTaskSEVertexingHF.cxx:164 AliAnalysisTaskSEVertexingHF.cxx:165 AliAnalysisTaskSEVertexingHF.cxx:166 AliAnalysisTaskSEVertexingHF.cxx:167 AliAnalysisTaskSEVertexingHF.cxx:168 AliAnalysisTaskSEVertexingHF.cxx:169 AliAnalysisTaskSEVertexingHF.cxx:170 AliAnalysisTaskSEVertexingHF.cxx:171 AliAnalysisTaskSEVertexingHF.cxx:172 AliAnalysisTaskSEVertexingHF.cxx:173 AliAnalysisTaskSEVertexingHF.cxx:174 AliAnalysisTaskSEVertexingHF.cxx:175 AliAnalysisTaskSEVertexingHF.cxx:176 AliAnalysisTaskSEVertexingHF.cxx:177 AliAnalysisTaskSEVertexingHF.cxx:178 AliAnalysisTaskSEVertexingHF.cxx:179 AliAnalysisTaskSEVertexingHF.cxx:180 AliAnalysisTaskSEVertexingHF.cxx:181 AliAnalysisTaskSEVertexingHF.cxx:182 AliAnalysisTaskSEVertexingHF.cxx:183 AliAnalysisTaskSEVertexingHF.cxx:184 AliAnalysisTaskSEVertexingHF.cxx:185 AliAnalysisTaskSEVertexingHF.cxx:186 AliAnalysisTaskSEVertexingHF.cxx:187 AliAnalysisTaskSEVertexingHF.cxx:188 AliAnalysisTaskSEVertexingHF.cxx:189 AliAnalysisTaskSEVertexingHF.cxx:190 AliAnalysisTaskSEVertexingHF.cxx:191 AliAnalysisTaskSEVertexingHF.cxx:192 AliAnalysisTaskSEVertexingHF.cxx:193 AliAnalysisTaskSEVertexingHF.cxx:194 AliAnalysisTaskSEVertexingHF.cxx:195 AliAnalysisTaskSEVertexingHF.cxx:196 AliAnalysisTaskSEVertexingHF.cxx:197 AliAnalysisTaskSEVertexingHF.cxx:198 AliAnalysisTaskSEVertexingHF.cxx:199 AliAnalysisTaskSEVertexingHF.cxx:200 AliAnalysisTaskSEVertexingHF.cxx:201 AliAnalysisTaskSEVertexingHF.cxx:202 AliAnalysisTaskSEVertexingHF.cxx:203 AliAnalysisTaskSEVertexingHF.cxx:204 AliAnalysisTaskSEVertexingHF.cxx:205 AliAnalysisTaskSEVertexingHF.cxx:206 AliAnalysisTaskSEVertexingHF.cxx:207 AliAnalysisTaskSEVertexingHF.cxx:208 AliAnalysisTaskSEVertexingHF.cxx:209 AliAnalysisTaskSEVertexingHF.cxx:210 AliAnalysisTaskSEVertexingHF.cxx:211 AliAnalysisTaskSEVertexingHF.cxx:212 AliAnalysisTaskSEVertexingHF.cxx:213 AliAnalysisTaskSEVertexingHF.cxx:214 AliAnalysisTaskSEVertexingHF.cxx:215 AliAnalysisTaskSEVertexingHF.cxx:216 AliAnalysisTaskSEVertexingHF.cxx:217 AliAnalysisTaskSEVertexingHF.cxx:218 AliAnalysisTaskSEVertexingHF.cxx:219 AliAnalysisTaskSEVertexingHF.cxx:220 AliAnalysisTaskSEVertexingHF.cxx:221 AliAnalysisTaskSEVertexingHF.cxx:222 AliAnalysisTaskSEVertexingHF.cxx:223 AliAnalysisTaskSEVertexingHF.cxx:224 AliAnalysisTaskSEVertexingHF.cxx:225 AliAnalysisTaskSEVertexingHF.cxx:226 AliAnalysisTaskSEVertexingHF.cxx:227 AliAnalysisTaskSEVertexingHF.cxx:228 AliAnalysisTaskSEVertexingHF.cxx:229 AliAnalysisTaskSEVertexingHF.cxx:230 AliAnalysisTaskSEVertexingHF.cxx:231 AliAnalysisTaskSEVertexingHF.cxx:232 AliAnalysisTaskSEVertexingHF.cxx:233 AliAnalysisTaskSEVertexingHF.cxx:234 AliAnalysisTaskSEVertexingHF.cxx:235 AliAnalysisTaskSEVertexingHF.cxx:236 AliAnalysisTaskSEVertexingHF.cxx:237 AliAnalysisTaskSEVertexingHF.cxx:238 AliAnalysisTaskSEVertexingHF.cxx:239 AliAnalysisTaskSEVertexingHF.cxx:240 AliAnalysisTaskSEVertexingHF.cxx:241 AliAnalysisTaskSEVertexingHF.cxx:242 AliAnalysisTaskSEVertexingHF.cxx:243 AliAnalysisTaskSEVertexingHF.cxx:244 AliAnalysisTaskSEVertexingHF.cxx:245 AliAnalysisTaskSEVertexingHF.cxx:246 AliAnalysisTaskSEVertexingHF.cxx:247 AliAnalysisTaskSEVertexingHF.cxx:248 AliAnalysisTaskSEVertexingHF.cxx:249 AliAnalysisTaskSEVertexingHF.cxx:250 AliAnalysisTaskSEVertexingHF.cxx:251 AliAnalysisTaskSEVertexingHF.cxx:252 AliAnalysisTaskSEVertexingHF.cxx:253 AliAnalysisTaskSEVertexingHF.cxx:254 AliAnalysisTaskSEVertexingHF.cxx:255 AliAnalysisTaskSEVertexingHF.cxx:256 AliAnalysisTaskSEVertexingHF.cxx:257 AliAnalysisTaskSEVertexingHF.cxx:258 AliAnalysisTaskSEVertexingHF.cxx:259 AliAnalysisTaskSEVertexingHF.cxx:260 AliAnalysisTaskSEVertexingHF.cxx:261 AliAnalysisTaskSEVertexingHF.cxx:262 AliAnalysisTaskSEVertexingHF.cxx:263 AliAnalysisTaskSEVertexingHF.cxx:264 AliAnalysisTaskSEVertexingHF.cxx:265 AliAnalysisTaskSEVertexingHF.cxx:266 AliAnalysisTaskSEVertexingHF.cxx:267 AliAnalysisTaskSEVertexingHF.cxx:268 AliAnalysisTaskSEVertexingHF.cxx:269