#include <TH1I.h>
#include <TList.h>
#include <TFile.h>
#include "AliAnalysisManager.h"
#include "AliMCEventHandler.h"
#include "AliHFEpidQA.h"
#include "AliHFEtools.h"
#include "AliESDInputHandler.h"
#include "AliHFEtrdPIDqa.h"
#include "AliAnalysisTaskHFEpidQA.h"
ClassImp(AliAnalysisTaskHFEpidQA)
AliAnalysisTaskHFEpidQA::AliAnalysisTaskHFEpidQA():
AliAnalysisTaskSE("pidQAtask")
, fPIDqa(NULL)
, fOutput(NULL)
, fEvents(NULL)
, fNNref(NULL)
, fTRDTotalChargeInSlice0(kFALSE)
, fIsQAPbPb(kFALSE)
, fIsQAppMultiBin(kFALSE)
{
}
AliAnalysisTaskHFEpidQA::AliAnalysisTaskHFEpidQA(const Char_t *name):
AliAnalysisTaskSE(name)
, fPIDqa(NULL)
, fOutput(NULL)
, fEvents(NULL)
, fNNref(NULL)
, fTRDTotalChargeInSlice0(kFALSE)
, fIsQAPbPb(kFALSE)
, fIsQAppMultiBin(kFALSE)
{
DefineOutput(1, TList::Class());
}
AliAnalysisTaskHFEpidQA::~AliAnalysisTaskHFEpidQA(){
if(fPIDqa) delete fPIDqa;
if(fOutput) delete fOutput;
}
void AliAnalysisTaskHFEpidQA::UserCreateOutputObjects(){
fOutput = new TList;
fOutput->SetOwner();
fOutput->Add((fEvents = new TH1I("nEvents", "NumberOfEvents", 1, 1, 2)));
fPIDqa = new AliHFEpidQA;
if(fTRDTotalChargeInSlice0) fPIDqa->SetTRDTotalChargeInSlice0();
if(HasV0pidQA()) fPIDqa->SetV0pidQA();
if(HasRecalculateTRDpid()) fPIDqa->SetRecalculateTRDpid();
if(fNNref) fPIDqa->SetNNref(fNNref);
if(fIsQAPbPb) fPIDqa->SetPbPb();
else
{
if(fIsQAppMultiBin) fPIDqa->SetPPMultiBin();
else fPIDqa->SetPP();
}
fPIDqa->Init();
TList *tmp = fPIDqa->GetOutput();
tmp->SetName("PIDqa");
fOutput->Add(tmp);
if(HasV0pidQA()){
tmp = fPIDqa->GetV0pidQA();
tmp->SetName("V0pidQA");
fOutput->Add(tmp);
}
tmp = 0x0;
tmp = fPIDqa->GetV0pidMC();
if(tmp){
tmp->SetName("V0pidMC");
fOutput->Add(tmp);
}
fOutput->Add(fPIDqa->GetTRDQA());
}
Bool_t AliAnalysisTaskHFEpidQA::UserNotify(){
return AliAnalysisTask::Notify();
}
void AliAnalysisTaskHFEpidQA::UserExec(Option_t *){
AliMCEventHandler* mcHandler = (dynamic_cast<AliMCEventHandler*>(AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler()));
AliESDInputHandler *inh = dynamic_cast<AliESDInputHandler *>(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
AliPIDResponse *workingPID = NULL;
if(inh && (workingPID = inh->GetPIDResponse()))
fPIDqa->SetPIDResponse(workingPID);
else fPIDqa->SetPIDResponse(AliHFEtools::GetDefaultPID(mcHandler ? kTRUE : kFALSE, kFALSE));
if(fMCEvent && !mcHandler ) return;
if(fMCEvent && !mcHandler->InitOk() ) return;
if(fMCEvent && !mcHandler->TreeK() ) return;
if(fMCEvent && !mcHandler->TreeTR() ) return;
if(fMCEvent) fPIDqa->SetMCEvent(fMCEvent);
fPIDqa->SetEvent(fInputEvent);
fPIDqa->Process();
fEvents->Fill(1.1);
PostData(1, fOutput);
}
void AliAnalysisTaskHFEpidQA::Terminate(Option_t *){
}
AliAnalysisTaskHFEpidQA.cxx:1 AliAnalysisTaskHFEpidQA.cxx:2 AliAnalysisTaskHFEpidQA.cxx:3 AliAnalysisTaskHFEpidQA.cxx:4 AliAnalysisTaskHFEpidQA.cxx:5 AliAnalysisTaskHFEpidQA.cxx:6 AliAnalysisTaskHFEpidQA.cxx:7 AliAnalysisTaskHFEpidQA.cxx:8 AliAnalysisTaskHFEpidQA.cxx:9 AliAnalysisTaskHFEpidQA.cxx:10 AliAnalysisTaskHFEpidQA.cxx:11 AliAnalysisTaskHFEpidQA.cxx:12 AliAnalysisTaskHFEpidQA.cxx:13 AliAnalysisTaskHFEpidQA.cxx:14 AliAnalysisTaskHFEpidQA.cxx:15 AliAnalysisTaskHFEpidQA.cxx:16 AliAnalysisTaskHFEpidQA.cxx:17 AliAnalysisTaskHFEpidQA.cxx:18 AliAnalysisTaskHFEpidQA.cxx:19 AliAnalysisTaskHFEpidQA.cxx:20 AliAnalysisTaskHFEpidQA.cxx:21 AliAnalysisTaskHFEpidQA.cxx:22 AliAnalysisTaskHFEpidQA.cxx:23 AliAnalysisTaskHFEpidQA.cxx:24 AliAnalysisTaskHFEpidQA.cxx:25 AliAnalysisTaskHFEpidQA.cxx:26 AliAnalysisTaskHFEpidQA.cxx:27 AliAnalysisTaskHFEpidQA.cxx:28 AliAnalysisTaskHFEpidQA.cxx:29 AliAnalysisTaskHFEpidQA.cxx:30 AliAnalysisTaskHFEpidQA.cxx:31 AliAnalysisTaskHFEpidQA.cxx:32 AliAnalysisTaskHFEpidQA.cxx:33 AliAnalysisTaskHFEpidQA.cxx:34 AliAnalysisTaskHFEpidQA.cxx:35 AliAnalysisTaskHFEpidQA.cxx:36 AliAnalysisTaskHFEpidQA.cxx:37 AliAnalysisTaskHFEpidQA.cxx:38 AliAnalysisTaskHFEpidQA.cxx:39 AliAnalysisTaskHFEpidQA.cxx:40 AliAnalysisTaskHFEpidQA.cxx:41 AliAnalysisTaskHFEpidQA.cxx:42 AliAnalysisTaskHFEpidQA.cxx:43 AliAnalysisTaskHFEpidQA.cxx:44 AliAnalysisTaskHFEpidQA.cxx:45 AliAnalysisTaskHFEpidQA.cxx:46 AliAnalysisTaskHFEpidQA.cxx:47 AliAnalysisTaskHFEpidQA.cxx:48 AliAnalysisTaskHFEpidQA.cxx:49 AliAnalysisTaskHFEpidQA.cxx:50 AliAnalysisTaskHFEpidQA.cxx:51 AliAnalysisTaskHFEpidQA.cxx:52 AliAnalysisTaskHFEpidQA.cxx:53 AliAnalysisTaskHFEpidQA.cxx:54 AliAnalysisTaskHFEpidQA.cxx:55 AliAnalysisTaskHFEpidQA.cxx:56 AliAnalysisTaskHFEpidQA.cxx:57 AliAnalysisTaskHFEpidQA.cxx:58 AliAnalysisTaskHFEpidQA.cxx:59 AliAnalysisTaskHFEpidQA.cxx:60 AliAnalysisTaskHFEpidQA.cxx:61 AliAnalysisTaskHFEpidQA.cxx:62 AliAnalysisTaskHFEpidQA.cxx:63 AliAnalysisTaskHFEpidQA.cxx:64 AliAnalysisTaskHFEpidQA.cxx:65 AliAnalysisTaskHFEpidQA.cxx:66 AliAnalysisTaskHFEpidQA.cxx:67 AliAnalysisTaskHFEpidQA.cxx:68 AliAnalysisTaskHFEpidQA.cxx:69 AliAnalysisTaskHFEpidQA.cxx:70 AliAnalysisTaskHFEpidQA.cxx:71 AliAnalysisTaskHFEpidQA.cxx:72 AliAnalysisTaskHFEpidQA.cxx:73 AliAnalysisTaskHFEpidQA.cxx:74 AliAnalysisTaskHFEpidQA.cxx:75 AliAnalysisTaskHFEpidQA.cxx:76 AliAnalysisTaskHFEpidQA.cxx:77 AliAnalysisTaskHFEpidQA.cxx:78 AliAnalysisTaskHFEpidQA.cxx:79 AliAnalysisTaskHFEpidQA.cxx:80 AliAnalysisTaskHFEpidQA.cxx:81 AliAnalysisTaskHFEpidQA.cxx:82 AliAnalysisTaskHFEpidQA.cxx:83 AliAnalysisTaskHFEpidQA.cxx:84 AliAnalysisTaskHFEpidQA.cxx:85 AliAnalysisTaskHFEpidQA.cxx:86 AliAnalysisTaskHFEpidQA.cxx:87 AliAnalysisTaskHFEpidQA.cxx:88 AliAnalysisTaskHFEpidQA.cxx:89 AliAnalysisTaskHFEpidQA.cxx:90 AliAnalysisTaskHFEpidQA.cxx:91 AliAnalysisTaskHFEpidQA.cxx:92 AliAnalysisTaskHFEpidQA.cxx:93 AliAnalysisTaskHFEpidQA.cxx:94 AliAnalysisTaskHFEpidQA.cxx:95 AliAnalysisTaskHFEpidQA.cxx:96 AliAnalysisTaskHFEpidQA.cxx:97 AliAnalysisTaskHFEpidQA.cxx:98 AliAnalysisTaskHFEpidQA.cxx:99 AliAnalysisTaskHFEpidQA.cxx:100 AliAnalysisTaskHFEpidQA.cxx:101 AliAnalysisTaskHFEpidQA.cxx:102 AliAnalysisTaskHFEpidQA.cxx:103 AliAnalysisTaskHFEpidQA.cxx:104 AliAnalysisTaskHFEpidQA.cxx:105 AliAnalysisTaskHFEpidQA.cxx:106 AliAnalysisTaskHFEpidQA.cxx:107 AliAnalysisTaskHFEpidQA.cxx:108 AliAnalysisTaskHFEpidQA.cxx:109 AliAnalysisTaskHFEpidQA.cxx:110 AliAnalysisTaskHFEpidQA.cxx:111 AliAnalysisTaskHFEpidQA.cxx:112 AliAnalysisTaskHFEpidQA.cxx:113 AliAnalysisTaskHFEpidQA.cxx:114 AliAnalysisTaskHFEpidQA.cxx:115 AliAnalysisTaskHFEpidQA.cxx:116 AliAnalysisTaskHFEpidQA.cxx:117 AliAnalysisTaskHFEpidQA.cxx:118 AliAnalysisTaskHFEpidQA.cxx:119 AliAnalysisTaskHFEpidQA.cxx:120 AliAnalysisTaskHFEpidQA.cxx:121 AliAnalysisTaskHFEpidQA.cxx:122 AliAnalysisTaskHFEpidQA.cxx:123 AliAnalysisTaskHFEpidQA.cxx:124 AliAnalysisTaskHFEpidQA.cxx:125 AliAnalysisTaskHFEpidQA.cxx:126 AliAnalysisTaskHFEpidQA.cxx:127 AliAnalysisTaskHFEpidQA.cxx:128 AliAnalysisTaskHFEpidQA.cxx:129 AliAnalysisTaskHFEpidQA.cxx:130 AliAnalysisTaskHFEpidQA.cxx:131 AliAnalysisTaskHFEpidQA.cxx:132 AliAnalysisTaskHFEpidQA.cxx:133 AliAnalysisTaskHFEpidQA.cxx:134 AliAnalysisTaskHFEpidQA.cxx:135 AliAnalysisTaskHFEpidQA.cxx:136 AliAnalysisTaskHFEpidQA.cxx:137 AliAnalysisTaskHFEpidQA.cxx:138 AliAnalysisTaskHFEpidQA.cxx:139 AliAnalysisTaskHFEpidQA.cxx:140 AliAnalysisTaskHFEpidQA.cxx:141 AliAnalysisTaskHFEpidQA.cxx:142 AliAnalysisTaskHFEpidQA.cxx:143 AliAnalysisTaskHFEpidQA.cxx:144 AliAnalysisTaskHFEpidQA.cxx:145 AliAnalysisTaskHFEpidQA.cxx:146 AliAnalysisTaskHFEpidQA.cxx:147 AliAnalysisTaskHFEpidQA.cxx:148 AliAnalysisTaskHFEpidQA.cxx:149 AliAnalysisTaskHFEpidQA.cxx:150 AliAnalysisTaskHFEpidQA.cxx:151 AliAnalysisTaskHFEpidQA.cxx:152 AliAnalysisTaskHFEpidQA.cxx:153 AliAnalysisTaskHFEpidQA.cxx:154 AliAnalysisTaskHFEpidQA.cxx:155 AliAnalysisTaskHFEpidQA.cxx:156 AliAnalysisTaskHFEpidQA.cxx:157 AliAnalysisTaskHFEpidQA.cxx:158 AliAnalysisTaskHFEpidQA.cxx:159 AliAnalysisTaskHFEpidQA.cxx:160