#include <Riostream.h>
#include <TChain.h>
#include <TTree.h>
#include <TString.h>
#include <TFile.h>
#include <TSystem.h>
#include "AliAnalysisTaskTagCreator.h"
#include "AliAnalysisManager.h"
#include "AliESDEvent.h"
#include "AliAODEvent.h"
#include "AliESDInputHandler.h"
#include "AliAODHandler.h"
#include "AliRunTag.h"
#include "AliEventTag.h"
#include "AliAODTagCreator.h"
#include "AliLog.h"
using std::cout;
using std::endl;
using std::ofstream;
ClassImp(AliAnalysisTaskTagCreator)
AliAnalysisTaskTagCreator::AliAnalysisTaskTagCreator():
AliAnalysisTaskSE(),
fCreateTags(kFALSE),
fFirstFile(kTRUE),
fRunTag(0),
fTreeT(0),
fTagCreator(0),
fAODFileName(""),
fGUID(0)
{
}
AliAnalysisTaskTagCreator::AliAnalysisTaskTagCreator(const char* name):
AliAnalysisTaskSE(name),
fCreateTags(kFALSE),
fFirstFile(kTRUE),
fRunTag(0),
fTreeT(0),
fTagCreator(0),
fAODFileName(""),
fGUID(0)
{
DefineOutput(1, TTree::Class());
}
void AliAnalysisTaskTagCreator::UserCreateOutputObjects()
{
OpenFile(1);
fTreeT = new TTree("T", "AOD Tags");
fRunTag = new AliRunTag();
TBranch * btag = fTreeT->Branch("AliTAG", "AliRunTag", &fRunTag);
btag->SetCompressionLevel(9);
fTagCreator = new AliAODTagCreator();
PostData(1, fTreeT);
}
void AliAnalysisTaskTagCreator::Init()
{
}
void AliAnalysisTaskTagCreator::ConnectInputData(Option_t * )
{
const char* turl = gSystem->Getenv("ALIEN_JDL_OUTPUTDIR");
TString sturl = turl;
if (sturl.Length() != 0) {
fAODFileName = "alien://";
fAODFileName += turl;
fAODFileName += "/AliAOD.root";
}
}
void AliAnalysisTaskTagCreator::UserExec(Option_t *)
{
AliEventTag* evtTag = new AliEventTag();
fTagCreator->FillEventTag(AODEvent(), evtTag);
TString fturl, fturltemp, guid;
TString opt(fInputHandler->GetAnalysisType());
opt.ToLower();
TFile *file = OutputTree()->GetCurrentFile();
const TUrl *url = file->GetEndpointUrl();
guid = file->GetUUID().AsString();
if (fAODFileName.Length() != 0) {
fturl = fAODFileName;
guid = fGUID;
} else {
fturl = url->GetFile();
}
if (fRunTag->GetFileId(guid) == -1) {
AliFileTag *eftag = new AliFileTag();
eftag->SetGUID(guid);
if(fAODFileName.Length() != 0) {
eftag->SetMD5("");
eftag->SetTURL(fturl);
eftag->SetSize(0);
}
else eftag->SetPath(fturl);
fRunTag->AddFileTag(eftag);
}
fRunTag->AddEventTag(*evtTag);
PostData(1, fTreeT);
}
void AliAnalysisTaskTagCreator::FinishTaskOutput()
{
if (fInputHandler->GetRunTag()) fRunTag->CopyStandardContent(fInputHandler->GetRunTag());
fTreeT->Fill();
}
Bool_t AliAnalysisTaskTagCreator::Notify()
{
fInputHandler = (AliInputEventHandler*)
((AliAnalysisManager::GetAnalysisManager())->GetInputEventHandler());
return kTRUE;
}
void AliAnalysisTaskTagCreator::GetGUID(TString &guid) {
ofstream myfile ("guid.txt");
if (myfile.is_open()) {
TFile *f = TFile::Open("AliAOD.root","read");
if(f->IsOpen()) {
guid = f->GetUUID().AsString();
myfile << "AliAOD.root \t"<<f->GetUUID().AsString();
cout<<guid.Data()<<endl;
myfile.close();
}
else cout<<"Input file not found"<<endl;
f->Close();
}
else cout<<"Output file can't be created..."<<endl;
}
void AliAnalysisTaskTagCreator::Terminate(Option_t *)
{
if (fDebug > 1) printf("AnalysisTagCreator: Terminate() \n");
}
AliAnalysisTaskTagCreator.cxx:1 AliAnalysisTaskTagCreator.cxx:2 AliAnalysisTaskTagCreator.cxx:3 AliAnalysisTaskTagCreator.cxx:4 AliAnalysisTaskTagCreator.cxx:5 AliAnalysisTaskTagCreator.cxx:6 AliAnalysisTaskTagCreator.cxx:7 AliAnalysisTaskTagCreator.cxx:8 AliAnalysisTaskTagCreator.cxx:9 AliAnalysisTaskTagCreator.cxx:10 AliAnalysisTaskTagCreator.cxx:11 AliAnalysisTaskTagCreator.cxx:12 AliAnalysisTaskTagCreator.cxx:13 AliAnalysisTaskTagCreator.cxx:14 AliAnalysisTaskTagCreator.cxx:15 AliAnalysisTaskTagCreator.cxx:16 AliAnalysisTaskTagCreator.cxx:17 AliAnalysisTaskTagCreator.cxx:18 AliAnalysisTaskTagCreator.cxx:19 AliAnalysisTaskTagCreator.cxx:20 AliAnalysisTaskTagCreator.cxx:21 AliAnalysisTaskTagCreator.cxx:22 AliAnalysisTaskTagCreator.cxx:23 AliAnalysisTaskTagCreator.cxx:24 AliAnalysisTaskTagCreator.cxx:25 AliAnalysisTaskTagCreator.cxx:26 AliAnalysisTaskTagCreator.cxx:27 AliAnalysisTaskTagCreator.cxx:28 AliAnalysisTaskTagCreator.cxx:29 AliAnalysisTaskTagCreator.cxx:30 AliAnalysisTaskTagCreator.cxx:31 AliAnalysisTaskTagCreator.cxx:32 AliAnalysisTaskTagCreator.cxx:33 AliAnalysisTaskTagCreator.cxx:34 AliAnalysisTaskTagCreator.cxx:35 AliAnalysisTaskTagCreator.cxx:36 AliAnalysisTaskTagCreator.cxx:37 AliAnalysisTaskTagCreator.cxx:38 AliAnalysisTaskTagCreator.cxx:39 AliAnalysisTaskTagCreator.cxx:40 AliAnalysisTaskTagCreator.cxx:41 AliAnalysisTaskTagCreator.cxx:42 AliAnalysisTaskTagCreator.cxx:43 AliAnalysisTaskTagCreator.cxx:44 AliAnalysisTaskTagCreator.cxx:45 AliAnalysisTaskTagCreator.cxx:46 AliAnalysisTaskTagCreator.cxx:47 AliAnalysisTaskTagCreator.cxx:48 AliAnalysisTaskTagCreator.cxx:49 AliAnalysisTaskTagCreator.cxx:50 AliAnalysisTaskTagCreator.cxx:51 AliAnalysisTaskTagCreator.cxx:52 AliAnalysisTaskTagCreator.cxx:53 AliAnalysisTaskTagCreator.cxx:54 AliAnalysisTaskTagCreator.cxx:55 AliAnalysisTaskTagCreator.cxx:56 AliAnalysisTaskTagCreator.cxx:57 AliAnalysisTaskTagCreator.cxx:58 AliAnalysisTaskTagCreator.cxx:59 AliAnalysisTaskTagCreator.cxx:60 AliAnalysisTaskTagCreator.cxx:61 AliAnalysisTaskTagCreator.cxx:62 AliAnalysisTaskTagCreator.cxx:63 AliAnalysisTaskTagCreator.cxx:64 AliAnalysisTaskTagCreator.cxx:65 AliAnalysisTaskTagCreator.cxx:66 AliAnalysisTaskTagCreator.cxx:67 AliAnalysisTaskTagCreator.cxx:68 AliAnalysisTaskTagCreator.cxx:69 AliAnalysisTaskTagCreator.cxx:70 AliAnalysisTaskTagCreator.cxx:71 AliAnalysisTaskTagCreator.cxx:72 AliAnalysisTaskTagCreator.cxx:73 AliAnalysisTaskTagCreator.cxx:74 AliAnalysisTaskTagCreator.cxx:75 AliAnalysisTaskTagCreator.cxx:76 AliAnalysisTaskTagCreator.cxx:77 AliAnalysisTaskTagCreator.cxx:78 AliAnalysisTaskTagCreator.cxx:79 AliAnalysisTaskTagCreator.cxx:80 AliAnalysisTaskTagCreator.cxx:81 AliAnalysisTaskTagCreator.cxx:82 AliAnalysisTaskTagCreator.cxx:83 AliAnalysisTaskTagCreator.cxx:84 AliAnalysisTaskTagCreator.cxx:85 AliAnalysisTaskTagCreator.cxx:86 AliAnalysisTaskTagCreator.cxx:87 AliAnalysisTaskTagCreator.cxx:88 AliAnalysisTaskTagCreator.cxx:89 AliAnalysisTaskTagCreator.cxx:90 AliAnalysisTaskTagCreator.cxx:91 AliAnalysisTaskTagCreator.cxx:92 AliAnalysisTaskTagCreator.cxx:93 AliAnalysisTaskTagCreator.cxx:94 AliAnalysisTaskTagCreator.cxx:95 AliAnalysisTaskTagCreator.cxx:96 AliAnalysisTaskTagCreator.cxx:97 AliAnalysisTaskTagCreator.cxx:98 AliAnalysisTaskTagCreator.cxx:99 AliAnalysisTaskTagCreator.cxx:100 AliAnalysisTaskTagCreator.cxx:101 AliAnalysisTaskTagCreator.cxx:102 AliAnalysisTaskTagCreator.cxx:103 AliAnalysisTaskTagCreator.cxx:104 AliAnalysisTaskTagCreator.cxx:105 AliAnalysisTaskTagCreator.cxx:106 AliAnalysisTaskTagCreator.cxx:107 AliAnalysisTaskTagCreator.cxx:108 AliAnalysisTaskTagCreator.cxx:109 AliAnalysisTaskTagCreator.cxx:110 AliAnalysisTaskTagCreator.cxx:111 AliAnalysisTaskTagCreator.cxx:112 AliAnalysisTaskTagCreator.cxx:113 AliAnalysisTaskTagCreator.cxx:114 AliAnalysisTaskTagCreator.cxx:115 AliAnalysisTaskTagCreator.cxx:116 AliAnalysisTaskTagCreator.cxx:117 AliAnalysisTaskTagCreator.cxx:118 AliAnalysisTaskTagCreator.cxx:119 AliAnalysisTaskTagCreator.cxx:120 AliAnalysisTaskTagCreator.cxx:121 AliAnalysisTaskTagCreator.cxx:122 AliAnalysisTaskTagCreator.cxx:123 AliAnalysisTaskTagCreator.cxx:124 AliAnalysisTaskTagCreator.cxx:125 AliAnalysisTaskTagCreator.cxx:126 AliAnalysisTaskTagCreator.cxx:127 AliAnalysisTaskTagCreator.cxx:128 AliAnalysisTaskTagCreator.cxx:129 AliAnalysisTaskTagCreator.cxx:130 AliAnalysisTaskTagCreator.cxx:131 AliAnalysisTaskTagCreator.cxx:132 AliAnalysisTaskTagCreator.cxx:133 AliAnalysisTaskTagCreator.cxx:134 AliAnalysisTaskTagCreator.cxx:135 AliAnalysisTaskTagCreator.cxx:136 AliAnalysisTaskTagCreator.cxx:137 AliAnalysisTaskTagCreator.cxx:138 AliAnalysisTaskTagCreator.cxx:139 AliAnalysisTaskTagCreator.cxx:140 AliAnalysisTaskTagCreator.cxx:141 AliAnalysisTaskTagCreator.cxx:142 AliAnalysisTaskTagCreator.cxx:143 AliAnalysisTaskTagCreator.cxx:144 AliAnalysisTaskTagCreator.cxx:145 AliAnalysisTaskTagCreator.cxx:146 AliAnalysisTaskTagCreator.cxx:147 AliAnalysisTaskTagCreator.cxx:148 AliAnalysisTaskTagCreator.cxx:149 AliAnalysisTaskTagCreator.cxx:150 AliAnalysisTaskTagCreator.cxx:151 AliAnalysisTaskTagCreator.cxx:152 AliAnalysisTaskTagCreator.cxx:153 AliAnalysisTaskTagCreator.cxx:154 AliAnalysisTaskTagCreator.cxx:155 AliAnalysisTaskTagCreator.cxx:156 AliAnalysisTaskTagCreator.cxx:157 AliAnalysisTaskTagCreator.cxx:158 AliAnalysisTaskTagCreator.cxx:159 AliAnalysisTaskTagCreator.cxx:160 AliAnalysisTaskTagCreator.cxx:161 AliAnalysisTaskTagCreator.cxx:162 AliAnalysisTaskTagCreator.cxx:163 AliAnalysisTaskTagCreator.cxx:164 AliAnalysisTaskTagCreator.cxx:165 AliAnalysisTaskTagCreator.cxx:166 AliAnalysisTaskTagCreator.cxx:167 AliAnalysisTaskTagCreator.cxx:168 AliAnalysisTaskTagCreator.cxx:169 AliAnalysisTaskTagCreator.cxx:170 AliAnalysisTaskTagCreator.cxx:171 AliAnalysisTaskTagCreator.cxx:172 AliAnalysisTaskTagCreator.cxx:173 AliAnalysisTaskTagCreator.cxx:174 AliAnalysisTaskTagCreator.cxx:175 AliAnalysisTaskTagCreator.cxx:176 AliAnalysisTaskTagCreator.cxx:177 AliAnalysisTaskTagCreator.cxx:178 AliAnalysisTaskTagCreator.cxx:179 AliAnalysisTaskTagCreator.cxx:180 AliAnalysisTaskTagCreator.cxx:181 AliAnalysisTaskTagCreator.cxx:182 AliAnalysisTaskTagCreator.cxx:183 AliAnalysisTaskTagCreator.cxx:184 AliAnalysisTaskTagCreator.cxx:185 AliAnalysisTaskTagCreator.cxx:186 AliAnalysisTaskTagCreator.cxx:187