#include "AliInputEventHandler.h"
#include "AliParticleContainer.h"
#include "AliJetContainer.h"
#include "AliEMCalTriggerBinningComponent.h"
#include "AliEMCalTriggerBinningFactory.h"
#include "AliEMCalTriggerEventData.h"
#include "AliEMCalTriggerTaskGroup.h"
#include "AliEMCalTriggerAnaTriggerDecision.h"
#include "AliEMCalHistoContainer.h"
#include "AliAnalysisTaskPtEMCalTriggerV1.h"
ClassImp(EMCalTriggerPtAnalysis::AliAnalysisTaskPtEMCalTriggerV1)
namespace EMCalTriggerPtAnalysis {
AliAnalysisTaskPtEMCalTriggerV1::AliAnalysisTaskPtEMCalTriggerV1() :
AliAnalysisTaskEmcalJet(),
fTaskGroups(NULL),
fBinning(NULL),
fMCJetContainer(),
fDataJetContainer()
{
}
AliAnalysisTaskPtEMCalTriggerV1::AliAnalysisTaskPtEMCalTriggerV1(const char* name) :
AliAnalysisTaskEmcalJet(name, kTRUE),
fTaskGroups(NULL),
fBinning(NULL),
fMCJetContainer(),
fDataJetContainer()
{
fTaskGroups = new TObjArray;
fTaskGroups->SetOwner();
fBinning = new AliEMCalTriggerBinningComponent();
SetMakeGeneralHistograms(kTRUE);
}
AliAnalysisTaskPtEMCalTriggerV1::~AliAnalysisTaskPtEMCalTriggerV1() {
delete fTaskGroups;
delete fBinning;
}
void AliAnalysisTaskPtEMCalTriggerV1::UserCreateOutputObjects() {
AliAnalysisTaskEmcal::UserCreateOutputObjects();
SetCaloTriggerPatchInfoName("EmcalTriggers");
AliEMCalTriggerBinningFactory binmaker;
binmaker.Create(fBinning);
TIter groupIter(fTaskGroups);
AliEMCalTriggerTaskGroup *mygroup(NULL);
TList *outputList = new TList;
outputList->SetName(Form("histos%s", GetName()));
while((mygroup = dynamic_cast<AliEMCalTriggerTaskGroup *>(groupIter()))){
mygroup->SetGlobalBinning(fBinning);
TList *ltmp = mygroup->InitialiseAnalysisComponents();
TIter listIter(ltmp);
TObject *hist(NULL);
while((hist = listIter())) outputList->Add(hist);
}
fOutput->Add(outputList);
PostData(1, fOutput);
}
Bool_t AliAnalysisTaskPtEMCalTriggerV1::Run() {
AliEMCalTriggerEventData *event = BuildEvent();
AliEMCalTriggerAnaTriggerDecision triggerDecision;
triggerDecision.Create(event);
triggerDecision.SetIsMinBias(fInputHandler->IsEventSelected() & AliVEvent::kINT7);
TIter groupIter(fTaskGroups);
AliEMCalTriggerTaskGroup *mygroup(NULL);
while((mygroup = dynamic_cast<AliEMCalTriggerTaskGroup *>(groupIter()))){
mygroup->SetTriggerDecision(&triggerDecision);
mygroup->Process(event);
}
delete event;
PostData(1, fOutput);
return kTRUE;
}
void AliAnalysisTaskPtEMCalTriggerV1::SetBinning(const char* dimname, int nbins, double* binning) {
fBinning->SetBinning(dimname, nbins, binning);
}
void AliAnalysisTaskPtEMCalTriggerV1::SetBinning(const char* dimname, const TArrayD &binning) {
fBinning->SetBinning(dimname, binning);
}
AliEMCalTriggerEventData* AliAnalysisTaskPtEMCalTriggerV1::BuildEvent() const {
AliEMCalTriggerEventData *eventstruct = new AliEMCalTriggerEventData;
eventstruct->SetRecEvent(fInputEvent);
eventstruct->SetMCEvent(fMCEvent);
eventstruct->SetTriggerPatchContainer(fTriggerPatchInfo);
eventstruct->SetClusterContainer(fCaloClusters);
eventstruct->SetTrackContainer(fTracks);
if(fMCJetContainer.Length()){
AliJetContainer *jcmc = dynamic_cast<AliJetContainer *>(fJetCollArray.FindObject(fMCJetContainer.Data()));
eventstruct->SetParticleContainer(jcmc->GetParticleContainer()->GetArray());
eventstruct->SetMCJetContainer(jcmc);
}
if(fDataJetContainer.Length()){
AliJetContainer *jcdat = dynamic_cast<AliJetContainer *>(fJetCollArray.FindObject(fDataJetContainer.Data()));
eventstruct->SetDataJetContainer(jcdat);
}
return eventstruct;
}
void AliAnalysisTaskPtEMCalTriggerV1::AddAnalysisGroup(AliEMCalTriggerTaskGroup *taskGroup) {
fTaskGroups->Add(taskGroup);
}
}
AliAnalysisTaskPtEMCalTriggerV1.cxx:1 AliAnalysisTaskPtEMCalTriggerV1.cxx:2 AliAnalysisTaskPtEMCalTriggerV1.cxx:3 AliAnalysisTaskPtEMCalTriggerV1.cxx:4 AliAnalysisTaskPtEMCalTriggerV1.cxx:5 AliAnalysisTaskPtEMCalTriggerV1.cxx:6 AliAnalysisTaskPtEMCalTriggerV1.cxx:7 AliAnalysisTaskPtEMCalTriggerV1.cxx:8 AliAnalysisTaskPtEMCalTriggerV1.cxx:9 AliAnalysisTaskPtEMCalTriggerV1.cxx:10 AliAnalysisTaskPtEMCalTriggerV1.cxx:11 AliAnalysisTaskPtEMCalTriggerV1.cxx:12 AliAnalysisTaskPtEMCalTriggerV1.cxx:13 AliAnalysisTaskPtEMCalTriggerV1.cxx:14 AliAnalysisTaskPtEMCalTriggerV1.cxx:15 AliAnalysisTaskPtEMCalTriggerV1.cxx:16 AliAnalysisTaskPtEMCalTriggerV1.cxx:17 AliAnalysisTaskPtEMCalTriggerV1.cxx:18 AliAnalysisTaskPtEMCalTriggerV1.cxx:19 AliAnalysisTaskPtEMCalTriggerV1.cxx:20 AliAnalysisTaskPtEMCalTriggerV1.cxx:21 AliAnalysisTaskPtEMCalTriggerV1.cxx:22 AliAnalysisTaskPtEMCalTriggerV1.cxx:23 AliAnalysisTaskPtEMCalTriggerV1.cxx:24 AliAnalysisTaskPtEMCalTriggerV1.cxx:25 AliAnalysisTaskPtEMCalTriggerV1.cxx:26 AliAnalysisTaskPtEMCalTriggerV1.cxx:27 AliAnalysisTaskPtEMCalTriggerV1.cxx:28 AliAnalysisTaskPtEMCalTriggerV1.cxx:29 AliAnalysisTaskPtEMCalTriggerV1.cxx:30 AliAnalysisTaskPtEMCalTriggerV1.cxx:31 AliAnalysisTaskPtEMCalTriggerV1.cxx:32 AliAnalysisTaskPtEMCalTriggerV1.cxx:33 AliAnalysisTaskPtEMCalTriggerV1.cxx:34 AliAnalysisTaskPtEMCalTriggerV1.cxx:35 AliAnalysisTaskPtEMCalTriggerV1.cxx:36 AliAnalysisTaskPtEMCalTriggerV1.cxx:37 AliAnalysisTaskPtEMCalTriggerV1.cxx:38 AliAnalysisTaskPtEMCalTriggerV1.cxx:39 AliAnalysisTaskPtEMCalTriggerV1.cxx:40 AliAnalysisTaskPtEMCalTriggerV1.cxx:41 AliAnalysisTaskPtEMCalTriggerV1.cxx:42 AliAnalysisTaskPtEMCalTriggerV1.cxx:43 AliAnalysisTaskPtEMCalTriggerV1.cxx:44 AliAnalysisTaskPtEMCalTriggerV1.cxx:45 AliAnalysisTaskPtEMCalTriggerV1.cxx:46 AliAnalysisTaskPtEMCalTriggerV1.cxx:47 AliAnalysisTaskPtEMCalTriggerV1.cxx:48 AliAnalysisTaskPtEMCalTriggerV1.cxx:49 AliAnalysisTaskPtEMCalTriggerV1.cxx:50 AliAnalysisTaskPtEMCalTriggerV1.cxx:51 AliAnalysisTaskPtEMCalTriggerV1.cxx:52 AliAnalysisTaskPtEMCalTriggerV1.cxx:53 AliAnalysisTaskPtEMCalTriggerV1.cxx:54 AliAnalysisTaskPtEMCalTriggerV1.cxx:55 AliAnalysisTaskPtEMCalTriggerV1.cxx:56 AliAnalysisTaskPtEMCalTriggerV1.cxx:57 AliAnalysisTaskPtEMCalTriggerV1.cxx:58 AliAnalysisTaskPtEMCalTriggerV1.cxx:59 AliAnalysisTaskPtEMCalTriggerV1.cxx:60 AliAnalysisTaskPtEMCalTriggerV1.cxx:61 AliAnalysisTaskPtEMCalTriggerV1.cxx:62 AliAnalysisTaskPtEMCalTriggerV1.cxx:63 AliAnalysisTaskPtEMCalTriggerV1.cxx:64 AliAnalysisTaskPtEMCalTriggerV1.cxx:65 AliAnalysisTaskPtEMCalTriggerV1.cxx:66 AliAnalysisTaskPtEMCalTriggerV1.cxx:67 AliAnalysisTaskPtEMCalTriggerV1.cxx:68 AliAnalysisTaskPtEMCalTriggerV1.cxx:69 AliAnalysisTaskPtEMCalTriggerV1.cxx:70 AliAnalysisTaskPtEMCalTriggerV1.cxx:71 AliAnalysisTaskPtEMCalTriggerV1.cxx:72 AliAnalysisTaskPtEMCalTriggerV1.cxx:73 AliAnalysisTaskPtEMCalTriggerV1.cxx:74 AliAnalysisTaskPtEMCalTriggerV1.cxx:75 AliAnalysisTaskPtEMCalTriggerV1.cxx:76 AliAnalysisTaskPtEMCalTriggerV1.cxx:77 AliAnalysisTaskPtEMCalTriggerV1.cxx:78 AliAnalysisTaskPtEMCalTriggerV1.cxx:79 AliAnalysisTaskPtEMCalTriggerV1.cxx:80 AliAnalysisTaskPtEMCalTriggerV1.cxx:81 AliAnalysisTaskPtEMCalTriggerV1.cxx:82 AliAnalysisTaskPtEMCalTriggerV1.cxx:83 AliAnalysisTaskPtEMCalTriggerV1.cxx:84 AliAnalysisTaskPtEMCalTriggerV1.cxx:85 AliAnalysisTaskPtEMCalTriggerV1.cxx:86 AliAnalysisTaskPtEMCalTriggerV1.cxx:87 AliAnalysisTaskPtEMCalTriggerV1.cxx:88 AliAnalysisTaskPtEMCalTriggerV1.cxx:89 AliAnalysisTaskPtEMCalTriggerV1.cxx:90 AliAnalysisTaskPtEMCalTriggerV1.cxx:91 AliAnalysisTaskPtEMCalTriggerV1.cxx:92 AliAnalysisTaskPtEMCalTriggerV1.cxx:93 AliAnalysisTaskPtEMCalTriggerV1.cxx:94 AliAnalysisTaskPtEMCalTriggerV1.cxx:95 AliAnalysisTaskPtEMCalTriggerV1.cxx:96 AliAnalysisTaskPtEMCalTriggerV1.cxx:97 AliAnalysisTaskPtEMCalTriggerV1.cxx:98 AliAnalysisTaskPtEMCalTriggerV1.cxx:99 AliAnalysisTaskPtEMCalTriggerV1.cxx:100 AliAnalysisTaskPtEMCalTriggerV1.cxx:101 AliAnalysisTaskPtEMCalTriggerV1.cxx:102 AliAnalysisTaskPtEMCalTriggerV1.cxx:103 AliAnalysisTaskPtEMCalTriggerV1.cxx:104 AliAnalysisTaskPtEMCalTriggerV1.cxx:105 AliAnalysisTaskPtEMCalTriggerV1.cxx:106 AliAnalysisTaskPtEMCalTriggerV1.cxx:107 AliAnalysisTaskPtEMCalTriggerV1.cxx:108 AliAnalysisTaskPtEMCalTriggerV1.cxx:109 AliAnalysisTaskPtEMCalTriggerV1.cxx:110 AliAnalysisTaskPtEMCalTriggerV1.cxx:111 AliAnalysisTaskPtEMCalTriggerV1.cxx:112 AliAnalysisTaskPtEMCalTriggerV1.cxx:113 AliAnalysisTaskPtEMCalTriggerV1.cxx:114 AliAnalysisTaskPtEMCalTriggerV1.cxx:115 AliAnalysisTaskPtEMCalTriggerV1.cxx:116 AliAnalysisTaskPtEMCalTriggerV1.cxx:117 AliAnalysisTaskPtEMCalTriggerV1.cxx:118 AliAnalysisTaskPtEMCalTriggerV1.cxx:119 AliAnalysisTaskPtEMCalTriggerV1.cxx:120 AliAnalysisTaskPtEMCalTriggerV1.cxx:121 AliAnalysisTaskPtEMCalTriggerV1.cxx:122 AliAnalysisTaskPtEMCalTriggerV1.cxx:123 AliAnalysisTaskPtEMCalTriggerV1.cxx:124 AliAnalysisTaskPtEMCalTriggerV1.cxx:125 AliAnalysisTaskPtEMCalTriggerV1.cxx:126 AliAnalysisTaskPtEMCalTriggerV1.cxx:127 AliAnalysisTaskPtEMCalTriggerV1.cxx:128 AliAnalysisTaskPtEMCalTriggerV1.cxx:129 AliAnalysisTaskPtEMCalTriggerV1.cxx:130 AliAnalysisTaskPtEMCalTriggerV1.cxx:131 AliAnalysisTaskPtEMCalTriggerV1.cxx:132 AliAnalysisTaskPtEMCalTriggerV1.cxx:133 AliAnalysisTaskPtEMCalTriggerV1.cxx:134 AliAnalysisTaskPtEMCalTriggerV1.cxx:135 AliAnalysisTaskPtEMCalTriggerV1.cxx:136 AliAnalysisTaskPtEMCalTriggerV1.cxx:137 AliAnalysisTaskPtEMCalTriggerV1.cxx:138 AliAnalysisTaskPtEMCalTriggerV1.cxx:139 AliAnalysisTaskPtEMCalTriggerV1.cxx:140 AliAnalysisTaskPtEMCalTriggerV1.cxx:141 AliAnalysisTaskPtEMCalTriggerV1.cxx:142 AliAnalysisTaskPtEMCalTriggerV1.cxx:143 AliAnalysisTaskPtEMCalTriggerV1.cxx:144 AliAnalysisTaskPtEMCalTriggerV1.cxx:145 AliAnalysisTaskPtEMCalTriggerV1.cxx:146 AliAnalysisTaskPtEMCalTriggerV1.cxx:147 AliAnalysisTaskPtEMCalTriggerV1.cxx:148 AliAnalysisTaskPtEMCalTriggerV1.cxx:149 AliAnalysisTaskPtEMCalTriggerV1.cxx:150 AliAnalysisTaskPtEMCalTriggerV1.cxx:151 AliAnalysisTaskPtEMCalTriggerV1.cxx:152 AliAnalysisTaskPtEMCalTriggerV1.cxx:153 AliAnalysisTaskPtEMCalTriggerV1.cxx:154 AliAnalysisTaskPtEMCalTriggerV1.cxx:155 AliAnalysisTaskPtEMCalTriggerV1.cxx:156 AliAnalysisTaskPtEMCalTriggerV1.cxx:157 AliAnalysisTaskPtEMCalTriggerV1.cxx:158 AliAnalysisTaskPtEMCalTriggerV1.cxx:159 AliAnalysisTaskPtEMCalTriggerV1.cxx:160 AliAnalysisTaskPtEMCalTriggerV1.cxx:161 AliAnalysisTaskPtEMCalTriggerV1.cxx:162 AliAnalysisTaskPtEMCalTriggerV1.cxx:163 AliAnalysisTaskPtEMCalTriggerV1.cxx:164 AliAnalysisTaskPtEMCalTriggerV1.cxx:165 AliAnalysisTaskPtEMCalTriggerV1.cxx:166 AliAnalysisTaskPtEMCalTriggerV1.cxx:167 AliAnalysisTaskPtEMCalTriggerV1.cxx:168 AliAnalysisTaskPtEMCalTriggerV1.cxx:169 AliAnalysisTaskPtEMCalTriggerV1.cxx:170 AliAnalysisTaskPtEMCalTriggerV1.cxx:171 AliAnalysisTaskPtEMCalTriggerV1.cxx:172 AliAnalysisTaskPtEMCalTriggerV1.cxx:173 AliAnalysisTaskPtEMCalTriggerV1.cxx:174 AliAnalysisTaskPtEMCalTriggerV1.cxx:175 AliAnalysisTaskPtEMCalTriggerV1.cxx:176 AliAnalysisTaskPtEMCalTriggerV1.cxx:177 AliAnalysisTaskPtEMCalTriggerV1.cxx:178 AliAnalysisTaskPtEMCalTriggerV1.cxx:179 AliAnalysisTaskPtEMCalTriggerV1.cxx:180 AliAnalysisTaskPtEMCalTriggerV1.cxx:181 AliAnalysisTaskPtEMCalTriggerV1.cxx:182 AliAnalysisTaskPtEMCalTriggerV1.cxx:183 AliAnalysisTaskPtEMCalTriggerV1.cxx:184 AliAnalysisTaskPtEMCalTriggerV1.cxx:185 AliAnalysisTaskPtEMCalTriggerV1.cxx:186 AliAnalysisTaskPtEMCalTriggerV1.cxx:187 AliAnalysisTaskPtEMCalTriggerV1.cxx:188