#include <iostream>
#include <string>
#include <TMath.h>
#include <TTree.h>
#include "AliInputEventHandler.h"
#include "AliVTrack.h"
#include "AliVCluster.h"
#include "AliAnalysisTaskEmcalTriggerTreeWriter.h"
AliAnalysisTaskEmcalTriggerTreeWriter::AliAnalysisTaskEmcalTriggerTreeWriter():
AliAnalysisTaskSE(),
fOutputTree(NULL),
fOutputInfo()
{
}
AliAnalysisTaskEmcalTriggerTreeWriter::AliAnalysisTaskEmcalTriggerTreeWriter(const char *name):
AliAnalysisTaskSE(name),
fOutputTree(NULL),
fOutputInfo()
{
DefineOutput(1,TTree::Class());
}
AliAnalysisTaskEmcalTriggerTreeWriter::~AliAnalysisTaskEmcalTriggerTreeWriter() {
if(fOutputTree) delete fOutputTree;
}
void AliAnalysisTaskEmcalTriggerTreeWriter::UserCreateOutputObjects() {
OpenFile(1);
fOutputTree = new TTree("EMCalTree", "A tree with emcal information");
fOutputTree->Branch("run", &fOutputInfo.fRun, "pdg/I");
fOutputTree->Branch("col", &fOutputInfo.fCol, "col/I");
fOutputTree->Branch("row", &fOutputInfo.fRow, "isUnique/i");
fOutputTree->Branch("NL0Times", &fOutputInfo.fNL0Times, "NL0Times/I");
fOutputTree->Branch("Level0Times", fOutputInfo.fLevel0Times, "Level0Times[10]/I");
fOutputTree->Branch("ADC", &fOutputInfo.fADC, "ADC/I");
fOutputTree->Branch("Amplitude", &fOutputInfo.fAmplitude, "Amplitude/F");
fOutputTree->Branch("Time", &fOutputInfo.fTime, "Time/F");
fOutputTree->Branch("TriggerBits", &fOutputInfo.fTriggerBits, "TriggerBits/I");
fOutputTree->Branch("L1Threshold", &fOutputInfo.fL1Threshold, "L1Threshold/I");
fOutputTree->Branch("L1V0", &fOutputInfo.fL1V0, "L1V0/I");
PostData(1, fOutputTree);
}
void AliAnalysisTaskEmcalTriggerTreeWriter::UserExec(Option_t *) {
AliVCaloTrigger *emctrigger = fInputEvent->GetCaloTrigger(strcmp(fInputHandler->GetDataType(), "ESD" ) == 0 ? "EMCALTrigger" : "EMCALTrigger");
emctrigger->Reset();
while(emctrigger->Next()){
fOutputInfo.Reset();
fOutputInfo.fRun = fInputEvent->GetRunNumber();
emctrigger->GetPosition(fOutputInfo.fCol, fOutputInfo.fRow);
emctrigger->GetNL0Times(fOutputInfo.fNL0Times);
if(fOutputInfo.fNL0Times > 0 && fOutputInfo.fNL0Times < 10)
emctrigger->GetL0Times(fOutputInfo.fLevel0Times);
emctrigger->GetL1TimeSum(fOutputInfo.fADC);
emctrigger->GetAmplitude(fOutputInfo.fAmplitude);
emctrigger->GetL1V0(fOutputInfo.fL1V0);
emctrigger->GetTriggerBits(fOutputInfo.fTriggerBits);
emctrigger->GetTime(fOutputInfo.fTime);
emctrigger->GetL1Threshold(fOutputInfo.fL1Threshold);
fOutputTree->Fill();
}
PostData(1, fOutputTree);
}
AliAnalysisTaskEmcalTriggerTreeWriter.cxx:1 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:2 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:3 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:4 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:5 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:6 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:7 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:8 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:9 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:10 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:11 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:12 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:13 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:14 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:15 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:16 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:17 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:18 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:19 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:20 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:21 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:22 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:23 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:24 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:25 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:26 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:27 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:28 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:29 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:30 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:31 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:32 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:33 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:34 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:35 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:36 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:37 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:38 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:39 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:40 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:41 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:42 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:43 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:44 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:45 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:46 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:47 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:48 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:49 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:50 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:51 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:52 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:53 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:54 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:55 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:56 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:57 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:58 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:59 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:60 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:61 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:62 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:63 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:64 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:65 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:66 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:67 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:68 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:69 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:70 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:71 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:72 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:73 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:74 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:75 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:76 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:77 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:78 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:79 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:80 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:81 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:82 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:83 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:84 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:85 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:86 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:87 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:88 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:89 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:90 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:91 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:92 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:93 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:94 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:95 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:96 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:97 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:98 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:99 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:100 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:101 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:102 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:103 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:104 AliAnalysisTaskEmcalTriggerTreeWriter.cxx:105