#include <TList.h>
#include "AliAODpidUtil.h"
#include "AliESDpid.h"
#include "AliVParticle.h"
#include "AliHFEtpcPIDqa.h"
#include "AliHFEtrdPIDqaV1.h"
#include "AliHFEtofPIDqa.h"
#include "AliHFEitsPIDqa.h"
#include "AliHFEemcalPIDqa.h"
#include "AliHFEbayesPIDqa.h"
#include "AliHFEpidQAmanager.h"
ClassImp(AliHFEpidQAmanager)
AliHFEpidQAmanager::AliHFEpidQAmanager():
TObject()
{
memset(fDetPIDqa, 0, sizeof(AliHFEdetPIDqa *) * AliHFEpid::kNdetectorPID);
memset(fDetPID, 0, sizeof(AliHFEdetPIDqa *) * AliHFEpid::kNdetectorPID);
SetOwner();
}
AliHFEpidQAmanager::AliHFEpidQAmanager(const AliHFEpidQAmanager &ref):
TObject(ref)
{
ref.Copy(*this);
SetOwner();
}
AliHFEpidQAmanager &AliHFEpidQAmanager::operator=(const AliHFEpidQAmanager &ref){
if(this != &ref) ref.Copy(*this);
SetOwner();
return *this;
}
void AliHFEpidQAmanager::Copy(TObject &o) const{
TObject::Copy(o);
AliHFEpidQAmanager &target = dynamic_cast<AliHFEpidQAmanager &>(o);
for(Int_t idet = 0; idet < AliHFEpid::kNdetectorPID; idet++){
target.fDetPID[idet] = fDetPID[idet];
if(target.fDetPIDqa[idet]) delete target.fDetPIDqa[idet];
if(fDetPIDqa[idet]) target.CreateDetPIDqa(static_cast<AliHFEpid::EDETtype_t>(idet));
}
}
AliHFEpidQAmanager::~AliHFEpidQAmanager(){
if(IsOwner())
for(Int_t idet = 0; idet < AliHFEpid::kNdetectorPID; idet++){
if(fDetPIDqa[idet]) delete fDetPIDqa[idet];
}
}
void AliHFEpidQAmanager::Initialize(AliHFEpid *pid){
for(Int_t idet = 0; idet < AliHFEpid::kNdetectorPID; idet++){
fDetPID[idet] = pid->GetDetPID(static_cast<AliHFEpid::EDETtype_t>(idet));
if(pid->HasDetector(static_cast<AliHFEpid::EDETtype_t>(idet))){
CreateDetPIDqa(static_cast<AliHFEpid::EDETtype_t>(idet));
if(fDetPIDqa[idet]){
fDetPIDqa[idet]->SetPIDqaManager(this);
fDetPIDqa[idet]->Initialize();
}
}
}
}
void AliHFEpidQAmanager::CreateDetPIDqa(AliHFEpid::EDETtype_t idet){
switch(idet){
case AliHFEpid::kTPCpid:
fDetPIDqa[idet] = new AliHFEtpcPIDqa("TPCQA");
break;
case AliHFEpid::kTRDpid:
fDetPIDqa[idet] = new AliHFEtrdPIDqaV1("TRDQA");
break;
case AliHFEpid::kTOFpid:
fDetPIDqa[idet] = new AliHFEtofPIDqa("TOFQA");
break;
case AliHFEpid::kITSpid:
fDetPIDqa[idet] = new AliHFEitsPIDqa("ITSQA");
break;
case AliHFEpid::kEMCALpid:
fDetPIDqa[idet] = new AliHFEemcalPIDqa("EMCALQA");
break;
case AliHFEpid::kBAYESpid:
fDetPIDqa[idet] = new AliHFEbayesPIDqa("BAYESQA");
break;
default:
break;
};
}
void AliHFEpidQAmanager::ProcessTrack(const AliHFEpidObject *track, AliHFEpid::EDETtype_t det, AliHFEdetPIDqa::EStep_t step){
if(!fDetPIDqa[det]){
AliDebug(1, Form("QA for detector %d not available", det));
return;
}
AliDebug(1, Form("Doing QA for detector %d\n", det));
fDetPIDqa[det]->ProcessTrack(track, step);
}
TList *AliHFEpidQAmanager::MakeList(const Char_t *name){
TList *list = new TList;
list->SetName(name);
list->SetOwner();
for(Int_t idet = 0; idet < AliHFEpid::kNdetectorPID; idet++){
if(fDetPIDqa[idet]) list->Add(fDetPIDqa[idet]);
}
ReleaseOwnerShip();
return list;
}
AliHFEpidQAmanager.cxx:10 AliHFEpidQAmanager.cxx:11 AliHFEpidQAmanager.cxx:12 AliHFEpidQAmanager.cxx:13 AliHFEpidQAmanager.cxx:14 AliHFEpidQAmanager.cxx:15 AliHFEpidQAmanager.cxx:16 AliHFEpidQAmanager.cxx:17 AliHFEpidQAmanager.cxx:18 AliHFEpidQAmanager.cxx:19 AliHFEpidQAmanager.cxx:20 AliHFEpidQAmanager.cxx:21 AliHFEpidQAmanager.cxx:22 AliHFEpidQAmanager.cxx:23 AliHFEpidQAmanager.cxx:24 AliHFEpidQAmanager.cxx:25 AliHFEpidQAmanager.cxx:26 AliHFEpidQAmanager.cxx:27 AliHFEpidQAmanager.cxx:28 AliHFEpidQAmanager.cxx:29 AliHFEpidQAmanager.cxx:30 AliHFEpidQAmanager.cxx:31 AliHFEpidQAmanager.cxx:32 AliHFEpidQAmanager.cxx:33 AliHFEpidQAmanager.cxx:34 AliHFEpidQAmanager.cxx:35 AliHFEpidQAmanager.cxx:36 AliHFEpidQAmanager.cxx:37 AliHFEpidQAmanager.cxx:38 AliHFEpidQAmanager.cxx:39 AliHFEpidQAmanager.cxx:40 AliHFEpidQAmanager.cxx:41 AliHFEpidQAmanager.cxx:42 AliHFEpidQAmanager.cxx:43 AliHFEpidQAmanager.cxx:44 AliHFEpidQAmanager.cxx:45 AliHFEpidQAmanager.cxx:46 AliHFEpidQAmanager.cxx:47 AliHFEpidQAmanager.cxx:48 AliHFEpidQAmanager.cxx:49 AliHFEpidQAmanager.cxx:50 AliHFEpidQAmanager.cxx:51 AliHFEpidQAmanager.cxx:52 AliHFEpidQAmanager.cxx:53 AliHFEpidQAmanager.cxx:54 AliHFEpidQAmanager.cxx:55 AliHFEpidQAmanager.cxx:56 AliHFEpidQAmanager.cxx:57 AliHFEpidQAmanager.cxx:58 AliHFEpidQAmanager.cxx:59 AliHFEpidQAmanager.cxx:60 AliHFEpidQAmanager.cxx:61 AliHFEpidQAmanager.cxx:62 AliHFEpidQAmanager.cxx:63 AliHFEpidQAmanager.cxx:64 AliHFEpidQAmanager.cxx:65 AliHFEpidQAmanager.cxx:66 AliHFEpidQAmanager.cxx:67 AliHFEpidQAmanager.cxx:68 AliHFEpidQAmanager.cxx:69 AliHFEpidQAmanager.cxx:70 AliHFEpidQAmanager.cxx:71 AliHFEpidQAmanager.cxx:72 AliHFEpidQAmanager.cxx:73 AliHFEpidQAmanager.cxx:74 AliHFEpidQAmanager.cxx:75 AliHFEpidQAmanager.cxx:76 AliHFEpidQAmanager.cxx:77 AliHFEpidQAmanager.cxx:78 AliHFEpidQAmanager.cxx:79 AliHFEpidQAmanager.cxx:80 AliHFEpidQAmanager.cxx:81 AliHFEpidQAmanager.cxx:82 AliHFEpidQAmanager.cxx:83 AliHFEpidQAmanager.cxx:84 AliHFEpidQAmanager.cxx:85 AliHFEpidQAmanager.cxx:86 AliHFEpidQAmanager.cxx:87 AliHFEpidQAmanager.cxx:88 AliHFEpidQAmanager.cxx:89 AliHFEpidQAmanager.cxx:90 AliHFEpidQAmanager.cxx:91 AliHFEpidQAmanager.cxx:92 AliHFEpidQAmanager.cxx:93 AliHFEpidQAmanager.cxx:94 AliHFEpidQAmanager.cxx:95 AliHFEpidQAmanager.cxx:96 AliHFEpidQAmanager.cxx:97 AliHFEpidQAmanager.cxx:98 AliHFEpidQAmanager.cxx:99 AliHFEpidQAmanager.cxx:100 AliHFEpidQAmanager.cxx:101 AliHFEpidQAmanager.cxx:102 AliHFEpidQAmanager.cxx:103 AliHFEpidQAmanager.cxx:104 AliHFEpidQAmanager.cxx:105 AliHFEpidQAmanager.cxx:106 AliHFEpidQAmanager.cxx:107 AliHFEpidQAmanager.cxx:108 AliHFEpidQAmanager.cxx:109 AliHFEpidQAmanager.cxx:110 AliHFEpidQAmanager.cxx:111 AliHFEpidQAmanager.cxx:112 AliHFEpidQAmanager.cxx:113 AliHFEpidQAmanager.cxx:114 AliHFEpidQAmanager.cxx:115 AliHFEpidQAmanager.cxx:116 AliHFEpidQAmanager.cxx:117 AliHFEpidQAmanager.cxx:118 AliHFEpidQAmanager.cxx:119 AliHFEpidQAmanager.cxx:120 AliHFEpidQAmanager.cxx:121 AliHFEpidQAmanager.cxx:122 AliHFEpidQAmanager.cxx:123 AliHFEpidQAmanager.cxx:124 AliHFEpidQAmanager.cxx:125 AliHFEpidQAmanager.cxx:126 AliHFEpidQAmanager.cxx:127 AliHFEpidQAmanager.cxx:128 AliHFEpidQAmanager.cxx:129 AliHFEpidQAmanager.cxx:130 AliHFEpidQAmanager.cxx:131 AliHFEpidQAmanager.cxx:132 AliHFEpidQAmanager.cxx:133 AliHFEpidQAmanager.cxx:134 AliHFEpidQAmanager.cxx:135 AliHFEpidQAmanager.cxx:136 AliHFEpidQAmanager.cxx:137 AliHFEpidQAmanager.cxx:138 AliHFEpidQAmanager.cxx:139 AliHFEpidQAmanager.cxx:140 AliHFEpidQAmanager.cxx:141 AliHFEpidQAmanager.cxx:142 AliHFEpidQAmanager.cxx:143 AliHFEpidQAmanager.cxx:144 AliHFEpidQAmanager.cxx:145 AliHFEpidQAmanager.cxx:146 AliHFEpidQAmanager.cxx:147 AliHFEpidQAmanager.cxx:148 AliHFEpidQAmanager.cxx:149 AliHFEpidQAmanager.cxx:150 AliHFEpidQAmanager.cxx:151 AliHFEpidQAmanager.cxx:152 AliHFEpidQAmanager.cxx:153 AliHFEpidQAmanager.cxx:154 AliHFEpidQAmanager.cxx:155 AliHFEpidQAmanager.cxx:156 AliHFEpidQAmanager.cxx:157 AliHFEpidQAmanager.cxx:158 AliHFEpidQAmanager.cxx:159 AliHFEpidQAmanager.cxx:160 AliHFEpidQAmanager.cxx:161 AliHFEpidQAmanager.cxx:162 AliHFEpidQAmanager.cxx:163 AliHFEpidQAmanager.cxx:164 AliHFEpidQAmanager.cxx:165 AliHFEpidQAmanager.cxx:166 AliHFEpidQAmanager.cxx:167 AliHFEpidQAmanager.cxx:168 AliHFEpidQAmanager.cxx:169 AliHFEpidQAmanager.cxx:170 AliHFEpidQAmanager.cxx:171 AliHFEpidQAmanager.cxx:172 AliHFEpidQAmanager.cxx:173 AliHFEpidQAmanager.cxx:174 AliHFEpidQAmanager.cxx:175 AliHFEpidQAmanager.cxx:176 AliHFEpidQAmanager.cxx:177 AliHFEpidQAmanager.cxx:178 AliHFEpidQAmanager.cxx:179 AliHFEpidQAmanager.cxx:180 AliHFEpidQAmanager.cxx:181