if(!(TSTBIT(map, kCheckDET))) return;
AliTRDcheckDET *task = 0x0;
- mgr->AddTask(task = new AliTRDcheckDET());
+ mgr->AddTask(task = new AliTRDcheckDET("checkDET"));
task->SetDebugLevel(0);
task->SetMCdata(mgr->GetMCtruthEventHandler());
// Create containers for input/output
- mgr->ConnectInput( task, 0, ci[0]);
- mgr->ConnectInput( task, 1, ci[1]);
- mgr->ConnectOutput(task, 0, mgr->CreateContainer(task->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
+ mgr->ConnectInput ( task, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput ( task, 1, ci[0]);
+ mgr->ConnectInput ( task, 2, ci[1]);
+ mgr->ConnectOutput( task, 1, mgr->CreateContainer(task->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
// CALIBRATION
if(!(TSTBIT(map, kCalibration))) return;
AliTRDcalibration *ctask = 0x0;
- mgr->AddTask(ctask = new AliTRDcalibration());
+ mgr->AddTask(ctask = new AliTRDcalibration("calibration"));
ctask->SetHisto2d(kTRUE);
ctask->SetVector2d(kTRUE);
ctask->SetVdriftLinear(kTRUE);
ctask->SetDebugLevel(1);
// Create containers for input/output
- mgr->ConnectInput(ctask, 0, ci[0]);
- mgr->ConnectOutput(ctask, 0, mgr->CreateContainer(ctask->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", ctask->GetName())));
+ mgr->ConnectInput(ctask, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(ctask, 1, ci[0]);
+ mgr->ConnectOutput(ctask, 1, mgr->CreateContainer(ctask->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", ctask->GetName())));
}
void AddTRDcheckESD(AliAnalysisManager *mgr)
{
- AliTRDcheckESD *checkESD = new AliTRDcheckESD();
- checkESD->SetMC(mgr->GetMCtruthEventHandler());
+ AliTRDcheckESD *checkESD = new AliTRDcheckESD("checkESD");
+ Bool_t hasMCtruth = (mgr->GetMCtruthEventHandler() != 0);
+
+ checkESD->SetMC(hasMCtruth);
mgr->AddTask(checkESD);
- mgr->ConnectInput(checkESD, 0, mgr->GetCommonInputContainer()); mgr->ConnectOutput(checkESD, 0, mgr->CreateContainer(checkESD->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
+ mgr->ConnectInput(checkESD, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectOutput(checkESD, 1, mgr->CreateContainer(checkESD->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
}
{
Int_t map = ParseOptions(trd);
AliAnalysisDataContainer *ce(NULL);
- if(TSTBIT(map, kPIDRefMaker)){
+ if(TSTBIT(map, kCheckPID)){
AliTRDcheckPID *pid = 0x0;
- mgr->AddTask(pid = new AliTRDcheckPID());
+ mgr->AddTask(pid = new AliTRDcheckPID("checkPID"));
pid->SetDebugLevel(0);
pid->SetMCdata(mgr->GetMCtruthEventHandler());
- mgr->ConnectInput(pid, 0, ci[0]);
- mgr->ConnectOutput(pid, 0, mgr->CreateContainer(pid->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
+ mgr->ConnectInput (pid, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (pid, 1, ci[0]);
+ mgr->ConnectOutput(pid, 1, mgr->CreateContainer(pid->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
// define PID exchange container
ce = mgr->CreateContainer("InfoPID", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
- mgr->ConnectOutput(pid, 1, ce);
+ mgr->ConnectOutput(pid, 2, ce);
}
if(TSTBIT(map, kPIDRefMaker)){
+ printf("PIDRef (2)\n");
// TRD pid reference maker
AliTRDpidRefMaker *ref = new AliTRDpidRefMaker();
mgr->AddTask(ref);
ref->SetFriends(kTRUE);
// link basic ref maker
- mgr->ConnectInput( ref, 0, ci[0]);
- mgr->ConnectInput( ref, 1, ci[2]);
+ mgr->ConnectInput( ref, 1, ci[0]);
+ mgr->ConnectInput( ref, 2, ci[2]);
if(ce) mgr->ConnectInput( ref, 2, ce);
- mgr->ConnectOutput(ref, 0, mgr->CreateContainer(Form("Moni%s", ref->GetName()), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
- mgr->ConnectOutput(ref, 1, mgr->CreateContainer(ref->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
+ mgr->ConnectOutput(ref, 1, mgr->CreateContainer(Form("Moni%s", ref->GetName()), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
+ mgr->ConnectOutput(ref, 2, mgr->CreateContainer(ref->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
// TRD pid reference maker LQ
AliTRDpidRefMakerLQ *lq = new AliTRDpidRefMakerLQ();
AliLog::SetClassDebugLevel("AliTRDpidRefMakerLQ", 3);
lq->SetMCdata(mgr->GetMCtruthEventHandler());
lq->SetFriends(kTRUE);
- mgr->ConnectInput(lq, 0, ci[0]);
- mgr->ConnectInput(lq, 1, ci[2]);
+ mgr->ConnectInput(lq, 1, ci[0]);
+ mgr->ConnectInput(lq, 0, ci[2]);
if(ce) mgr->ConnectInput(lq, 2, ce);
- mgr->ConnectOutput(lq, 0, mgr->CreateContainer(Form("Moni%s", lq->GetName()), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
- mgr->ConnectOutput(lq, 1, mgr->CreateContainer(lq->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
- mgr->ConnectOutput(lq, 2, mgr->CreateContainer("PDF", TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", lq->GetName())));
+ mgr->ConnectOutput(lq, 1, mgr->CreateContainer(Form("Moni%s", lq->GetName()), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
+ mgr->ConnectOutput(lq, 2, mgr->CreateContainer(lq->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", ref->GetName())));
+ mgr->ConnectOutput(lq, 3, mgr->CreateContainer("PDF", TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", lq->GetName())));
}
}
Bool_t mc = mgr->GetMCtruthEventHandler();
AliTRDefficiency *eff = 0x0;
- mgr->AddTask(eff = new AliTRDefficiency());
+ mgr->AddTask(eff = new AliTRDefficiency("TRDefficiency"));
eff->SetDebugLevel(0);
- mgr->ConnectInput(eff, 0, ci[0]);
- mgr->ConnectOutput(eff, 0, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
+ mgr->ConnectInput(eff, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(eff, 1, ci[0]);
+ mgr->ConnectOutput(eff, 1, mgr->CreateContainer(eff->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
// TRD combined tracking efficiency
AliTRDefficiencyMC *effMC = 0x0;
if(mc && TSTBIT(map, kEfficiencyMC)){
- mgr->AddTask(effMC = new AliTRDefficiencyMC());
+ mgr->AddTask(effMC = new AliTRDefficiencyMC("TRDefficiencyMC"));
effMC->SetDebugLevel(0);
// Create containers for input/output
- mgr->ConnectInput(effMC, 0, ci[0]);
- mgr->ConnectOutput(effMC, 0, mgr->CreateContainer(effMC->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", effMC->GetName())));
+ mgr->ConnectInput(effMC, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(effMC, 1, ci[0]);
+ mgr->ConnectOutput(effMC, 1, mgr->CreateContainer(effMC->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", effMC->GetName())));
}
// TRD single track selection
if(!(TSTBIT(map, kMultiplicity))) return;
AliTRDmultiplicity *mult = 0x0;
- mgr->AddTask(mult = new AliTRDmultiplicity());
+ mgr->AddTask(mult = new AliTRDmultiplicity("TRDmultiplicity"));
mult->SetDebugLevel(0);
- mgr->ConnectInput(mult, 0, ci[0]);
- mgr->ConnectOutput(mult, 0, mgr->CreateContainer(mult->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", mult->GetName())));
+ mgr->ConnectInput(mult, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(mult, 1, ci[0]);
+ mgr->ConnectOutput(mult, 1, mgr->CreateContainer(mult->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Task%s.root", mult->GetName())));
}
{
Int_t map = ParseOptions(trd);
if(!(TSTBIT(map, kInfoGen))) return;
-
+
//AliLog::SetClassDebugLevel("AliTRDinfoGen", 5);
AliTRDinfoGen *info(NULL);
- mgr->AddTask(info = new AliTRDinfoGen());
+ info = new AliTRDinfoGen("genInfo");
+ mgr->AddTask(info);
info->SetDebugLevel(0);
info->SetMCdata(mgr->GetMCtruthEventHandler());
+ AliAnalysisDataContainer* cin = mgr->CreateContainer("dummy", TObjArray::Class(), AliAnalysisManager::kInputContainer);
+
+
mgr->ConnectInput( info, 0, mgr->GetCommonInputContainer());
// settings for collisions
info->SetCollision();
}
co[0] = mgr->CreateContainer("trackInfo", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
co[1] = mgr->CreateContainer("eventInfo", AliTRDeventInfo::Class(), AliAnalysisManager::kExchangeContainer);
- co[2] = mgr->CreateContainer("v0Info", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
- mgr->ConnectOutput(info, 0, co[0]);
- mgr->ConnectOutput(info, 1, co[1]);
- mgr->ConnectOutput(info, 2, co[2]);
+ co[2] = mgr->CreateContainer("v0Info", TObjArray::Class(), AliAnalysisManager::kExchangeContainer);
+
+ mgr->ConnectInput (info, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput (info, 1, cin ); // Dummy to avoid orphan
+ mgr->ConnectOutput(info, 1, co[0]);
+ mgr->ConnectOutput(info, 2, co[1]);
+ mgr->ConnectOutput(info, 3, co[2]);
}
//AliLog::SetClassDebugLevel("AliTRDresolution", 5);
AliTRDresolution *task(NULL);
if(!TSTBIT(map, kResolution)) return;
- mgr->AddTask(task = new AliTRDresolution());
+ mgr->AddTask(task = new AliTRDresolution("TRDresolution"));
task->SetMCdata(mgr->GetMCtruthEventHandler());
task->SetPostProcess(kFALSE);
task->SetDebugLevel(0);
- mgr->ConnectInput( task, 0, ci[0]);
- mgr->ConnectOutput(task, 0, mgr->CreateContainer(task->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
+ mgr->ConnectInput(task, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(task, 1, ci[0]);
+ mgr->ConnectOutput(task,1, mgr->CreateContainer(task->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.Performance.root"));
// Create output containers for calibration tasks
const Int_t nc = 4;
AliTRDclusterResolution *taskCl(NULL);
mgr->AddTask(taskCl = new AliTRDclusterResolution("ESD", "ESD Cluster error parameterization"));
taskCl->SetExB();
- mgr->ConnectInput(taskCl, 0, co[0]);
- mgr->ConnectOutput(taskCl, 0, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibClErrParam.root"));
+ mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(taskCl, 1, co[0]);
+ mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibClErrParam.root"));
mgr->AddTask(taskCl = new AliTRDclusterResolution("MC", "MC Cluster error parameterization"));
taskCl->SetExB();
- mgr->ConnectInput(taskCl, 0, co[2]);
- mgr->ConnectOutput(taskCl, 0, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibClErrParam.root"));
+ mgr->ConnectInput(taskCl, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(taskCl, 1, co[2]);
+ mgr->ConnectOutput(taskCl, 1, mgr->CreateContainer(taskCl->GetName(), TObjArray::Class(), AliAnalysisManager::kOutputContainer, "TRD.CalibClErrParam.root"));
}
// TRD alignment
if(TSTBIT(map, kAlignment)){
AliTRDalignmentTask *taskAl = 0x0;
- mgr->AddTask(taskAl = new AliTRDalignmentTask());
+ mgr->AddTask(taskAl = new AliTRDalignmentTask("TRDalignment"));
taskAl->SetDebugLevel(0);
- mgr->ConnectInput(taskAl, 0, ci[0]);
- mgr->ConnectOutput(taskAl, 0, mgr->CreateContainer(Form("h%s", taskAl->GetName()), TObjArray::Class(), AliAnalysisManager::kExchangeContainer));
- mgr->ConnectOutput(taskAl, 1, mgr->CreateContainer(task->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", task->GetName())));
+ mgr->ConnectInput(taskAl, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectInput(taskAl, 1, ci[0]);
+ mgr->ConnectOutput(taskAl, 1, mgr->CreateContainer(Form("h%s", taskAl->GetName()), TObjArray::Class(), AliAnalysisManager::kExchangeContainer));
+ mgr->ConnectOutput(taskAl, 2, mgr->CreateContainer(task->GetName(), TTree::Class(), AliAnalysisManager::kOutputContainer, Form("TRD.Calib%s.root", task->GetName())));
}
}