#include "AliFMDMCSharingFilter.h"
#include <AliESDFMD.h>
#include <AliMCEvent.h>
#include <AliTrackReference.h>
#include <AliStack.h>
#include <TAxis.h>
#include <TList.h>
#include <TH1.h>
#include <TMath.h>
#include "AliFMDStripIndex.h"
#include "AliFMDFloatMap.h"
#include <AliLog.h>
#include <TROOT.h>
#include <iostream>
#include <iomanip>
ClassImp(AliFMDMCSharingFilter)
#if 0
;
#endif
AliFMDMCSharingFilter::AliFMDMCSharingFilter(const char* title)
: AliFMDSharingFilter(title),
fTrackDensity(title),
fFMD1i(0),
fFMD2i(0),
fFMD2o(0),
fFMD3i(0),
fFMD3o(0)
{
fFMD1i = new TH2D("FMD1i_corr", "Merged vs MC", 21, -.5, 20.5, 300, 0, 15);
fFMD2i = new TH2D("FMD2i_corr", "Merged vs MC", 21, -.5, 20.5, 300, 0, 15);
fFMD2o = new TH2D("FMD2o_corr", "Merged vs MC", 21, -.5, 20.5, 300, 0, 15);
fFMD3i = new TH2D("FMD3i_corr", "Merged vs MC", 21, -.5, 20.5, 300, 0, 15);
fFMD3o = new TH2D("FMD3o_corr", "Merged vs MC", 21, -.5, 20.5, 300, 0, 15);
fFMD1i->SetYTitle("#Delta E/#Delta_{mip} (ESD)");
fFMD1i->SetXTitle("Hits (MC)");
fFMD2i->SetYTitle("#Delta E/#Delta_{mip} (ESD)");
fFMD2i->SetXTitle("Hits (MC)");
fFMD2o->SetYTitle("#Delta E/#Delta_{mip} (ESD)");
fFMD2o->SetXTitle("Hits (MC)");
fFMD3i->SetYTitle("#Delta E/#Delta_{mip} (ESD)");
fFMD3i->SetXTitle("Hits (MC)");
fFMD3o->SetYTitle("#Delta E/#Delta_{mip} (ESD)");
fFMD3o->SetXTitle("Hits (MC)");
fFMD1i->SetDirectory(0);
fFMD2i->SetDirectory(0);
fFMD2o->SetDirectory(0);
fFMD3i->SetDirectory(0);
fFMD3o->SetDirectory(0);
#if 0
fOper = new AliFMDFloatMap(0,0,0,0);
fOperComp = new TH2I("operComp", "Operation vs # track refs",
kMergedInto, kNone-.5, kMergedInto+.5,
20, -.5, 19.5);
fOperComp->SetXTitle("Operation");
fOperComp->SetYTitle("# of track refs in sector");
fOperComp->SetZTitle("Observations");
fOperComp->GetXaxis()->SetBinLabel(kNone, "None");
fOperComp->GetXaxis()->SetBinLabel(kCandidate, "Candidate");
fOperComp->GetXaxis()->SetBinLabel(kMergedWithOther, "Merged w/other");
fOperComp->GetXaxis()->SetBinLabel(kMergedInto, "Merged into");
fOperComp->SetDirectory(0);
#endif
}
AliFMDMCSharingFilter::AliFMDMCSharingFilter(const AliFMDMCSharingFilter& o)
: AliFMDSharingFilter(o),
fTrackDensity(o.fTrackDensity),
fFMD1i(o.fFMD1i),
fFMD2i(o.fFMD2i),
fFMD2o(o.fFMD2o),
fFMD3i(o.fFMD3i),
fFMD3o(o.fFMD3o)
{
}
AliFMDMCSharingFilter::~AliFMDMCSharingFilter()
{
}
AliFMDMCSharingFilter&
AliFMDMCSharingFilter::operator=(const AliFMDMCSharingFilter& o)
{
AliFMDSharingFilter::operator=(o);
fTrackDensity = o.fTrackDensity;
return *this;
}
Bool_t
AliFMDMCSharingFilter::FilterMC(const AliESDFMD& input,
const AliMCEvent& event,
Double_t vz,
AliESDFMD& output,
TH2D* primary)
{
output.Clear();
fTrackDensity.Calculate(input, event, vz, output, primary);
return kTRUE;
}
void
AliFMDMCSharingFilter::CompareResults(const AliESDFMD& esd,
const AliESDFMD& mc)
{
for (UShort_t d = 1; d <= 3; d++) {
UShort_t nq = (d == 1 ? 1 : 2);
for (UShort_t q = 0; q < nq; q++) {
Char_t r = (q == 0 ? 'I' : 'O');
UShort_t ns = (q == 0 ? 20 : 40);
UShort_t nt = (q == 0 ? 512 : 256);
TH2* co = 0;
switch (d) {
case 1: co = fFMD1i; break;
case 2: co = (q == 0 ? fFMD2i : fFMD2o); break;
case 3: co = (q == 0 ? fFMD3i : fFMD3o); break;
}
for (UShort_t s = 0; s < ns; s++) {
for (UShort_t t = 0; t < nt; t++) {
Float_t mEsd = esd.Multiplicity(d, r, s, t);
Float_t mMc = mc.Multiplicity(d, r, s, t);
co->Fill(mMc, mEsd);
}
}
}
}
}
void
AliFMDMCSharingFilter::CreateOutputObjects(TList* dir)
{
AliFMDSharingFilter::CreateOutputObjects(dir);
TList* d = static_cast<TList*>(dir->FindObject(GetName()));
TList* cd = new TList;
cd->SetOwner();
cd->SetName("esd_mc_comparion");
d->Add(cd);
cd->Add(fFMD1i);
cd->Add(fFMD2i);
cd->Add(fFMD2o);
cd->Add(fFMD3i);
cd->Add(fFMD3o);
fTrackDensity.CreateOutputObjects(d);
}
void
AliFMDMCSharingFilter::Terminate(const TList* dir, TList* output, Int_t nEvents)
{
AliFMDSharingFilter::Terminate(dir, output, nEvents);
}
void
AliFMDMCSharingFilter::SetDebug(Int_t dbg)
{
AliFMDSharingFilter::SetDebug(dbg);
fTrackDensity.SetDebug(dbg > 2);
}
void
AliFMDMCSharingFilter::Print(Option_t* option) const
{
AliFMDSharingFilter::Print(option);
gROOT->IncreaseDirLevel();
fTrackDensity.Print(option);
gROOT->DecreaseDirLevel();
}
AliFMDMCSharingFilter.cxx:1 AliFMDMCSharingFilter.cxx:2 AliFMDMCSharingFilter.cxx:3 AliFMDMCSharingFilter.cxx:4 AliFMDMCSharingFilter.cxx:5 AliFMDMCSharingFilter.cxx:6 AliFMDMCSharingFilter.cxx:7 AliFMDMCSharingFilter.cxx:8 AliFMDMCSharingFilter.cxx:9 AliFMDMCSharingFilter.cxx:10 AliFMDMCSharingFilter.cxx:11 AliFMDMCSharingFilter.cxx:12 AliFMDMCSharingFilter.cxx:13 AliFMDMCSharingFilter.cxx:14 AliFMDMCSharingFilter.cxx:15 AliFMDMCSharingFilter.cxx:16 AliFMDMCSharingFilter.cxx:17 AliFMDMCSharingFilter.cxx:18 AliFMDMCSharingFilter.cxx:19 AliFMDMCSharingFilter.cxx:20 AliFMDMCSharingFilter.cxx:21 AliFMDMCSharingFilter.cxx:22 AliFMDMCSharingFilter.cxx:23 AliFMDMCSharingFilter.cxx:24 AliFMDMCSharingFilter.cxx:25 AliFMDMCSharingFilter.cxx:26 AliFMDMCSharingFilter.cxx:27 AliFMDMCSharingFilter.cxx:28 AliFMDMCSharingFilter.cxx:29 AliFMDMCSharingFilter.cxx:30 AliFMDMCSharingFilter.cxx:31 AliFMDMCSharingFilter.cxx:32 AliFMDMCSharingFilter.cxx:33 AliFMDMCSharingFilter.cxx:34 AliFMDMCSharingFilter.cxx:35 AliFMDMCSharingFilter.cxx:36 AliFMDMCSharingFilter.cxx:37 AliFMDMCSharingFilter.cxx:38 AliFMDMCSharingFilter.cxx:39 AliFMDMCSharingFilter.cxx:40 AliFMDMCSharingFilter.cxx:41 AliFMDMCSharingFilter.cxx:42 AliFMDMCSharingFilter.cxx:43 AliFMDMCSharingFilter.cxx:44 AliFMDMCSharingFilter.cxx:45 AliFMDMCSharingFilter.cxx:46 AliFMDMCSharingFilter.cxx:47 AliFMDMCSharingFilter.cxx:48 AliFMDMCSharingFilter.cxx:49 AliFMDMCSharingFilter.cxx:50 AliFMDMCSharingFilter.cxx:51 AliFMDMCSharingFilter.cxx:52 AliFMDMCSharingFilter.cxx:53 AliFMDMCSharingFilter.cxx:54 AliFMDMCSharingFilter.cxx:55 AliFMDMCSharingFilter.cxx:56 AliFMDMCSharingFilter.cxx:57 AliFMDMCSharingFilter.cxx:58 AliFMDMCSharingFilter.cxx:59 AliFMDMCSharingFilter.cxx:60 AliFMDMCSharingFilter.cxx:61 AliFMDMCSharingFilter.cxx:62 AliFMDMCSharingFilter.cxx:63 AliFMDMCSharingFilter.cxx:64 AliFMDMCSharingFilter.cxx:65 AliFMDMCSharingFilter.cxx:66 AliFMDMCSharingFilter.cxx:67 AliFMDMCSharingFilter.cxx:68 AliFMDMCSharingFilter.cxx:69 AliFMDMCSharingFilter.cxx:70 AliFMDMCSharingFilter.cxx:71 AliFMDMCSharingFilter.cxx:72 AliFMDMCSharingFilter.cxx:73 AliFMDMCSharingFilter.cxx:74 AliFMDMCSharingFilter.cxx:75 AliFMDMCSharingFilter.cxx:76 AliFMDMCSharingFilter.cxx:77 AliFMDMCSharingFilter.cxx:78 AliFMDMCSharingFilter.cxx:79 AliFMDMCSharingFilter.cxx:80 AliFMDMCSharingFilter.cxx:81 AliFMDMCSharingFilter.cxx:82 AliFMDMCSharingFilter.cxx:83 AliFMDMCSharingFilter.cxx:84 AliFMDMCSharingFilter.cxx:85 AliFMDMCSharingFilter.cxx:86 AliFMDMCSharingFilter.cxx:87 AliFMDMCSharingFilter.cxx:88 AliFMDMCSharingFilter.cxx:89 AliFMDMCSharingFilter.cxx:90 AliFMDMCSharingFilter.cxx:91 AliFMDMCSharingFilter.cxx:92 AliFMDMCSharingFilter.cxx:93 AliFMDMCSharingFilter.cxx:94 AliFMDMCSharingFilter.cxx:95 AliFMDMCSharingFilter.cxx:96 AliFMDMCSharingFilter.cxx:97 AliFMDMCSharingFilter.cxx:98 AliFMDMCSharingFilter.cxx:99 AliFMDMCSharingFilter.cxx:100 AliFMDMCSharingFilter.cxx:101 AliFMDMCSharingFilter.cxx:102 AliFMDMCSharingFilter.cxx:103 AliFMDMCSharingFilter.cxx:104 AliFMDMCSharingFilter.cxx:105 AliFMDMCSharingFilter.cxx:106 AliFMDMCSharingFilter.cxx:107 AliFMDMCSharingFilter.cxx:108 AliFMDMCSharingFilter.cxx:109 AliFMDMCSharingFilter.cxx:110 AliFMDMCSharingFilter.cxx:111 AliFMDMCSharingFilter.cxx:112 AliFMDMCSharingFilter.cxx:113 AliFMDMCSharingFilter.cxx:114 AliFMDMCSharingFilter.cxx:115 AliFMDMCSharingFilter.cxx:116 AliFMDMCSharingFilter.cxx:117 AliFMDMCSharingFilter.cxx:118 AliFMDMCSharingFilter.cxx:119 AliFMDMCSharingFilter.cxx:120 AliFMDMCSharingFilter.cxx:121 AliFMDMCSharingFilter.cxx:122 AliFMDMCSharingFilter.cxx:123 AliFMDMCSharingFilter.cxx:124 AliFMDMCSharingFilter.cxx:125 AliFMDMCSharingFilter.cxx:126 AliFMDMCSharingFilter.cxx:127 AliFMDMCSharingFilter.cxx:128 AliFMDMCSharingFilter.cxx:129 AliFMDMCSharingFilter.cxx:130 AliFMDMCSharingFilter.cxx:131 AliFMDMCSharingFilter.cxx:132 AliFMDMCSharingFilter.cxx:133 AliFMDMCSharingFilter.cxx:134 AliFMDMCSharingFilter.cxx:135 AliFMDMCSharingFilter.cxx:136 AliFMDMCSharingFilter.cxx:137 AliFMDMCSharingFilter.cxx:138 AliFMDMCSharingFilter.cxx:139 AliFMDMCSharingFilter.cxx:140 AliFMDMCSharingFilter.cxx:141 AliFMDMCSharingFilter.cxx:142 AliFMDMCSharingFilter.cxx:143 AliFMDMCSharingFilter.cxx:144 AliFMDMCSharingFilter.cxx:145 AliFMDMCSharingFilter.cxx:146 AliFMDMCSharingFilter.cxx:147 AliFMDMCSharingFilter.cxx:148 AliFMDMCSharingFilter.cxx:149 AliFMDMCSharingFilter.cxx:150 AliFMDMCSharingFilter.cxx:151 AliFMDMCSharingFilter.cxx:152 AliFMDMCSharingFilter.cxx:153 AliFMDMCSharingFilter.cxx:154 AliFMDMCSharingFilter.cxx:155 AliFMDMCSharingFilter.cxx:156 AliFMDMCSharingFilter.cxx:157 AliFMDMCSharingFilter.cxx:158 AliFMDMCSharingFilter.cxx:159 AliFMDMCSharingFilter.cxx:160 AliFMDMCSharingFilter.cxx:161 AliFMDMCSharingFilter.cxx:162 AliFMDMCSharingFilter.cxx:163 AliFMDMCSharingFilter.cxx:164 AliFMDMCSharingFilter.cxx:165 AliFMDMCSharingFilter.cxx:166 AliFMDMCSharingFilter.cxx:167 AliFMDMCSharingFilter.cxx:168 AliFMDMCSharingFilter.cxx:169 AliFMDMCSharingFilter.cxx:170 AliFMDMCSharingFilter.cxx:171 AliFMDMCSharingFilter.cxx:172 AliFMDMCSharingFilter.cxx:173 AliFMDMCSharingFilter.cxx:174 AliFMDMCSharingFilter.cxx:175 AliFMDMCSharingFilter.cxx:176 AliFMDMCSharingFilter.cxx:177 AliFMDMCSharingFilter.cxx:178 AliFMDMCSharingFilter.cxx:179 AliFMDMCSharingFilter.cxx:180 AliFMDMCSharingFilter.cxx:181 AliFMDMCSharingFilter.cxx:182 AliFMDMCSharingFilter.cxx:183 AliFMDMCSharingFilter.cxx:184 AliFMDMCSharingFilter.cxx:185 AliFMDMCSharingFilter.cxx:186 AliFMDMCSharingFilter.cxx:187 AliFMDMCSharingFilter.cxx:188 AliFMDMCSharingFilter.cxx:189 AliFMDMCSharingFilter.cxx:190 AliFMDMCSharingFilter.cxx:191 AliFMDMCSharingFilter.cxx:192 AliFMDMCSharingFilter.cxx:193 AliFMDMCSharingFilter.cxx:194 AliFMDMCSharingFilter.cxx:195 AliFMDMCSharingFilter.cxx:196 AliFMDMCSharingFilter.cxx:197 AliFMDMCSharingFilter.cxx:198 AliFMDMCSharingFilter.cxx:199 AliFMDMCSharingFilter.cxx:200 AliFMDMCSharingFilter.cxx:201 AliFMDMCSharingFilter.cxx:202 AliFMDMCSharingFilter.cxx:203 AliFMDMCSharingFilter.cxx:204 AliFMDMCSharingFilter.cxx:205 AliFMDMCSharingFilter.cxx:206 AliFMDMCSharingFilter.cxx:207 AliFMDMCSharingFilter.cxx:208 AliFMDMCSharingFilter.cxx:209 AliFMDMCSharingFilter.cxx:210 AliFMDMCSharingFilter.cxx:211 AliFMDMCSharingFilter.cxx:212 AliFMDMCSharingFilter.cxx:213 AliFMDMCSharingFilter.cxx:214 AliFMDMCSharingFilter.cxx:215 AliFMDMCSharingFilter.cxx:216 AliFMDMCSharingFilter.cxx:217 AliFMDMCSharingFilter.cxx:218 AliFMDMCSharingFilter.cxx:219 AliFMDMCSharingFilter.cxx:220 AliFMDMCSharingFilter.cxx:221 AliFMDMCSharingFilter.cxx:222 AliFMDMCSharingFilter.cxx:223 AliFMDMCSharingFilter.cxx:224 AliFMDMCSharingFilter.cxx:225 AliFMDMCSharingFilter.cxx:226 AliFMDMCSharingFilter.cxx:227 AliFMDMCSharingFilter.cxx:228 AliFMDMCSharingFilter.cxx:229 AliFMDMCSharingFilter.cxx:230 AliFMDMCSharingFilter.cxx:231 AliFMDMCSharingFilter.cxx:232 AliFMDMCSharingFilter.cxx:233 AliFMDMCSharingFilter.cxx:234 AliFMDMCSharingFilter.cxx:235 AliFMDMCSharingFilter.cxx:236 AliFMDMCSharingFilter.cxx:237 AliFMDMCSharingFilter.cxx:238 AliFMDMCSharingFilter.cxx:239 AliFMDMCSharingFilter.cxx:240 AliFMDMCSharingFilter.cxx:241 AliFMDMCSharingFilter.cxx:242 AliFMDMCSharingFilter.cxx:243 AliFMDMCSharingFilter.cxx:244 AliFMDMCSharingFilter.cxx:245 AliFMDMCSharingFilter.cxx:246 AliFMDMCSharingFilter.cxx:247 AliFMDMCSharingFilter.cxx:248 AliFMDMCSharingFilter.cxx:249 AliFMDMCSharingFilter.cxx:250 AliFMDMCSharingFilter.cxx:251 AliFMDMCSharingFilter.cxx:252 AliFMDMCSharingFilter.cxx:253 AliFMDMCSharingFilter.cxx:254 AliFMDMCSharingFilter.cxx:255 AliFMDMCSharingFilter.cxx:256 AliFMDMCSharingFilter.cxx:257 AliFMDMCSharingFilter.cxx:258 AliFMDMCSharingFilter.cxx:259 AliFMDMCSharingFilter.cxx:260 AliFMDMCSharingFilter.cxx:261 AliFMDMCSharingFilter.cxx:262 AliFMDMCSharingFilter.cxx:263 AliFMDMCSharingFilter.cxx:264 AliFMDMCSharingFilter.cxx:265 AliFMDMCSharingFilter.cxx:266 AliFMDMCSharingFilter.cxx:267 AliFMDMCSharingFilter.cxx:268 AliFMDMCSharingFilter.cxx:269 AliFMDMCSharingFilter.cxx:270 AliFMDMCSharingFilter.cxx:271 AliFMDMCSharingFilter.cxx:272 AliFMDMCSharingFilter.cxx:273 AliFMDMCSharingFilter.cxx:274 AliFMDMCSharingFilter.cxx:275 AliFMDMCSharingFilter.cxx:276 AliFMDMCSharingFilter.cxx:277 AliFMDMCSharingFilter.cxx:278 AliFMDMCSharingFilter.cxx:279