#include "AliDielectronCutQA.h"
#include <TList.h>
#include <TCollection.h>
#include "AliDielectronCutGroup.h"
#include "AliAnalysisCuts.h"
#include "AliVEvent.h"
#include "AliVParticle.h"
#include "AliVTrack.h"
#include "AliDielectronPair.h"
ClassImp(AliDielectronCutQA)
AliDielectronCutQA::AliDielectronCutQA() :
TNamed(),
fQAHistArray()
{
for(Int_t itype=0; itype<kNtypes; itype++) {
fCutQA[itype]=0x0;
fNCuts[itype]=1;
for(Int_t i=0; i<20; i++) {
fCutNames[i][itype]="";
}
}
fTypeKeys[kTrack] = "Track";
fTypeKeys[kPair] = "Pair";
fTypeKeys[kEvent] = "Event";
fQAHistArray.SetOwner();
}
AliDielectronCutQA::AliDielectronCutQA(const char* name, const char* title) :
TNamed(name, title),
fQAHistArray()
{
for(Int_t itype=0; itype<kNtypes; itype++) {
fCutQA[itype]=0x0;
fNCuts[itype]=1;
for(Int_t i=0; i<20; i++) {
fCutNames[i][itype]="";
}
}
fTypeKeys[kTrack] = "Track";
fTypeKeys[kPair] = "Pair";
fTypeKeys[kEvent] = "Event";
fQAHistArray.SetOwner();
}
AliDielectronCutQA::~AliDielectronCutQA()
{
fQAHistArray.Delete();
}
void AliDielectronCutQA::Init()
{
fQAHistArray.SetName(Form("%s",GetName()));
for(Int_t itype=0; itype<kNtypes; itype++) {
fCutNames[0][itype]="no cuts";
fCutQA[itype] = new TH1F(fTypeKeys[itype],
Form("%sQA;cuts;# passed %ss",fTypeKeys[itype],fTypeKeys[itype]),
fNCuts[itype],0,fNCuts[itype]);
for(Int_t i=0; i<fNCuts[itype]; i++) {
fCutQA[itype]->GetXaxis()->SetBinLabel(i+1,fCutNames[i][itype]);
}
fQAHistArray.AddLast(fCutQA[itype]);
}
}
void AliDielectronCutQA::AddTrackFilter(AliAnalysisFilter *trackFilter)
{
TIter listIterator(trackFilter->GetCuts());
while (AliAnalysisCuts *thisCut = (AliAnalysisCuts*) listIterator()) {
Bool_t addCut=kTRUE;
if(addCut) {
fCutNames[fNCuts[kTrack]][kTrack]=thisCut->GetTitle();
fNCuts[kTrack]++;
}
}
}
void AliDielectronCutQA::AddPairFilter(AliAnalysisFilter *pairFilter)
{
TIter listIterator(pairFilter->GetCuts());
while (AliAnalysisCuts *thisCut = (AliAnalysisCuts*) listIterator()) {
Bool_t addCut=kTRUE;
if(addCut) {
fCutNames[fNCuts[kPair]][kPair]=thisCut->GetTitle();
fNCuts[kPair]++;
}
}
}
void AliDielectronCutQA::AddEventFilter(AliAnalysisFilter *eventFilter)
{
TIter listIterator(eventFilter->GetCuts());
while (AliAnalysisCuts *thisCut = (AliAnalysisCuts*) listIterator()) {
Bool_t addCut=kTRUE;
if(addCut) {
fCutNames[fNCuts[kEvent]][kEvent]=thisCut->GetTitle();
fNCuts[kEvent]++;
}
}
}
void AliDielectronCutQA::Fill(UInt_t mask, TObject *obj)
{
UInt_t idx = GetObjIndex(obj);
Int_t cutstep=1;
for (Int_t iCut=0; iCut<fNCuts[idx]-1;++iCut) {
UInt_t cutMask=(1<<(iCut+1))-1;
if ((mask&cutMask)==cutMask) {
fCutQA[idx]->Fill(cutstep);
++cutstep;
}
}
}
void AliDielectronCutQA::FillAll(TObject *obj)
{
UInt_t idx = GetObjIndex(obj);
fCutQA[idx]->Fill(0);
}
UInt_t AliDielectronCutQA::GetObjIndex(TObject *obj)
{
if(obj->InheritsFrom(AliDielectronPair::Class())) return kPair;
if(obj->InheritsFrom(AliVTrack::Class()) ) return kTrack;
if(obj->InheritsFrom(AliVParticle::Class()) ) return kTrack;
if(obj->InheritsFrom(AliVEvent::Class()) ) return kEvent;
printf("FATAL: object type %s not yet supported, please let the author know\n", obj->IsA()->GetName());
return -1;
}
AliDielectronCutQA.cxx:10 AliDielectronCutQA.cxx:11 AliDielectronCutQA.cxx:12 AliDielectronCutQA.cxx:13 AliDielectronCutQA.cxx:14 AliDielectronCutQA.cxx:15 AliDielectronCutQA.cxx:16 AliDielectronCutQA.cxx:17 AliDielectronCutQA.cxx:18 AliDielectronCutQA.cxx:19 AliDielectronCutQA.cxx:20 AliDielectronCutQA.cxx:21 AliDielectronCutQA.cxx:22 AliDielectronCutQA.cxx:23 AliDielectronCutQA.cxx:24 AliDielectronCutQA.cxx:25 AliDielectronCutQA.cxx:26 AliDielectronCutQA.cxx:27 AliDielectronCutQA.cxx:28 AliDielectronCutQA.cxx:29 AliDielectronCutQA.cxx:30 AliDielectronCutQA.cxx:31 AliDielectronCutQA.cxx:32 AliDielectronCutQA.cxx:33 AliDielectronCutQA.cxx:34 AliDielectronCutQA.cxx:35 AliDielectronCutQA.cxx:36 AliDielectronCutQA.cxx:37 AliDielectronCutQA.cxx:38 AliDielectronCutQA.cxx:39 AliDielectronCutQA.cxx:40 AliDielectronCutQA.cxx:41 AliDielectronCutQA.cxx:42 AliDielectronCutQA.cxx:43 AliDielectronCutQA.cxx:44 AliDielectronCutQA.cxx:45 AliDielectronCutQA.cxx:46 AliDielectronCutQA.cxx:47 AliDielectronCutQA.cxx:48 AliDielectronCutQA.cxx:49 AliDielectronCutQA.cxx:50 AliDielectronCutQA.cxx:51 AliDielectronCutQA.cxx:52 AliDielectronCutQA.cxx:53 AliDielectronCutQA.cxx:54 AliDielectronCutQA.cxx:55 AliDielectronCutQA.cxx:56 AliDielectronCutQA.cxx:57 AliDielectronCutQA.cxx:58 AliDielectronCutQA.cxx:59 AliDielectronCutQA.cxx:60 AliDielectronCutQA.cxx:61 AliDielectronCutQA.cxx:62 AliDielectronCutQA.cxx:63 AliDielectronCutQA.cxx:64 AliDielectronCutQA.cxx:65 AliDielectronCutQA.cxx:66 AliDielectronCutQA.cxx:67 AliDielectronCutQA.cxx:68 AliDielectronCutQA.cxx:69 AliDielectronCutQA.cxx:70 AliDielectronCutQA.cxx:71 AliDielectronCutQA.cxx:72 AliDielectronCutQA.cxx:73 AliDielectronCutQA.cxx:74 AliDielectronCutQA.cxx:75 AliDielectronCutQA.cxx:76 AliDielectronCutQA.cxx:77 AliDielectronCutQA.cxx:78 AliDielectronCutQA.cxx:79 AliDielectronCutQA.cxx:80 AliDielectronCutQA.cxx:81 AliDielectronCutQA.cxx:82 AliDielectronCutQA.cxx:83 AliDielectronCutQA.cxx:84 AliDielectronCutQA.cxx:85 AliDielectronCutQA.cxx:86 AliDielectronCutQA.cxx:87 AliDielectronCutQA.cxx:88 AliDielectronCutQA.cxx:89 AliDielectronCutQA.cxx:90 AliDielectronCutQA.cxx:91 AliDielectronCutQA.cxx:92 AliDielectronCutQA.cxx:93 AliDielectronCutQA.cxx:94 AliDielectronCutQA.cxx:95 AliDielectronCutQA.cxx:96 AliDielectronCutQA.cxx:97 AliDielectronCutQA.cxx:98 AliDielectronCutQA.cxx:99 AliDielectronCutQA.cxx:100 AliDielectronCutQA.cxx:101 AliDielectronCutQA.cxx:102 AliDielectronCutQA.cxx:103 AliDielectronCutQA.cxx:104 AliDielectronCutQA.cxx:105 AliDielectronCutQA.cxx:106 AliDielectronCutQA.cxx:107 AliDielectronCutQA.cxx:108 AliDielectronCutQA.cxx:109 AliDielectronCutQA.cxx:110 AliDielectronCutQA.cxx:111 AliDielectronCutQA.cxx:112 AliDielectronCutQA.cxx:113 AliDielectronCutQA.cxx:114 AliDielectronCutQA.cxx:115 AliDielectronCutQA.cxx:116 AliDielectronCutQA.cxx:117 AliDielectronCutQA.cxx:118 AliDielectronCutQA.cxx:119 AliDielectronCutQA.cxx:120 AliDielectronCutQA.cxx:121 AliDielectronCutQA.cxx:122 AliDielectronCutQA.cxx:123 AliDielectronCutQA.cxx:124 AliDielectronCutQA.cxx:125 AliDielectronCutQA.cxx:126 AliDielectronCutQA.cxx:127 AliDielectronCutQA.cxx:128 AliDielectronCutQA.cxx:129 AliDielectronCutQA.cxx:130 AliDielectronCutQA.cxx:131 AliDielectronCutQA.cxx:132 AliDielectronCutQA.cxx:133 AliDielectronCutQA.cxx:134 AliDielectronCutQA.cxx:135 AliDielectronCutQA.cxx:136 AliDielectronCutQA.cxx:137 AliDielectronCutQA.cxx:138 AliDielectronCutQA.cxx:139 AliDielectronCutQA.cxx:140 AliDielectronCutQA.cxx:141 AliDielectronCutQA.cxx:142 AliDielectronCutQA.cxx:143 AliDielectronCutQA.cxx:144 AliDielectronCutQA.cxx:145 AliDielectronCutQA.cxx:146 AliDielectronCutQA.cxx:147 AliDielectronCutQA.cxx:148 AliDielectronCutQA.cxx:149 AliDielectronCutQA.cxx:150 AliDielectronCutQA.cxx:151 AliDielectronCutQA.cxx:152 AliDielectronCutQA.cxx:153 AliDielectronCutQA.cxx:154 AliDielectronCutQA.cxx:155 AliDielectronCutQA.cxx:156 AliDielectronCutQA.cxx:157 AliDielectronCutQA.cxx:158 AliDielectronCutQA.cxx:159 AliDielectronCutQA.cxx:160 AliDielectronCutQA.cxx:161 AliDielectronCutQA.cxx:162 AliDielectronCutQA.cxx:163 AliDielectronCutQA.cxx:164 AliDielectronCutQA.cxx:165 AliDielectronCutQA.cxx:166 AliDielectronCutQA.cxx:167 AliDielectronCutQA.cxx:168 AliDielectronCutQA.cxx:169 AliDielectronCutQA.cxx:170 AliDielectronCutQA.cxx:171 AliDielectronCutQA.cxx:172 AliDielectronCutQA.cxx:173 AliDielectronCutQA.cxx:174 AliDielectronCutQA.cxx:175 AliDielectronCutQA.cxx:176 AliDielectronCutQA.cxx:177 AliDielectronCutQA.cxx:178 AliDielectronCutQA.cxx:179 AliDielectronCutQA.cxx:180 AliDielectronCutQA.cxx:181 AliDielectronCutQA.cxx:182 AliDielectronCutQA.cxx:183 AliDielectronCutQA.cxx:184 AliDielectronCutQA.cxx:185 AliDielectronCutQA.cxx:186 AliDielectronCutQA.cxx:187 AliDielectronCutQA.cxx:188 AliDielectronCutQA.cxx:189 AliDielectronCutQA.cxx:190 AliDielectronCutQA.cxx:191 AliDielectronCutQA.cxx:192 AliDielectronCutQA.cxx:193 AliDielectronCutQA.cxx:194 AliDielectronCutQA.cxx:195 AliDielectronCutQA.cxx:196 AliDielectronCutQA.cxx:197 AliDielectronCutQA.cxx:198 AliDielectronCutQA.cxx:199 AliDielectronCutQA.cxx:200 AliDielectronCutQA.cxx:201 AliDielectronCutQA.cxx:202 AliDielectronCutQA.cxx:203 AliDielectronCutQA.cxx:204 AliDielectronCutQA.cxx:205 AliDielectronCutQA.cxx:206 AliDielectronCutQA.cxx:207 AliDielectronCutQA.cxx:208 AliDielectronCutQA.cxx:209 AliDielectronCutQA.cxx:210 AliDielectronCutQA.cxx:211 AliDielectronCutQA.cxx:212 AliDielectronCutQA.cxx:213 AliDielectronCutQA.cxx:214 AliDielectronCutQA.cxx:215 AliDielectronCutQA.cxx:216 AliDielectronCutQA.cxx:217 AliDielectronCutQA.cxx:218 AliDielectronCutQA.cxx:219 AliDielectronCutQA.cxx:220 AliDielectronCutQA.cxx:221 AliDielectronCutQA.cxx:222 AliDielectronCutQA.cxx:223 AliDielectronCutQA.cxx:224 AliDielectronCutQA.cxx:225 AliDielectronCutQA.cxx:226 AliDielectronCutQA.cxx:227 AliDielectronCutQA.cxx:228 AliDielectronCutQA.cxx:229 AliDielectronCutQA.cxx:230 AliDielectronCutQA.cxx:231 AliDielectronCutQA.cxx:232 AliDielectronCutQA.cxx:233 AliDielectronCutQA.cxx:234 AliDielectronCutQA.cxx:235 AliDielectronCutQA.cxx:236 AliDielectronCutQA.cxx:237 AliDielectronCutQA.cxx:238 AliDielectronCutQA.cxx:239 AliDielectronCutQA.cxx:240 AliDielectronCutQA.cxx:241 AliDielectronCutQA.cxx:242 AliDielectronCutQA.cxx:243 AliDielectronCutQA.cxx:244 AliDielectronCutQA.cxx:245 AliDielectronCutQA.cxx:246 AliDielectronCutQA.cxx:247