#include "TObjArray.h"
#include "TTree.h"
#include "AliMFTSegmentation.h"
#include "AliMFTClusterFinder.h"
#include "AliReconstructor.h"
#include "AliMFTReconstructor.h"
ClassImp(AliMFTReconstructor)
AliMFTReconstructor::AliMFTReconstructor():
AliReconstructor(),
fDigits(0x0),
fNPlanes(0)
{
}
AliMFTReconstructor::~AliMFTReconstructor() {
if (fDigits) {
for (Int_t iPlane=0; iPlane<fNPlanes; iPlane++) {
if (fDigits->At(iPlane)) fDigits->At(iPlane)->Delete();
}
fDigits->Delete();
delete fDigits;
fDigits=0;
}
}
void AliMFTReconstructor::Clear(const Option_t* ) {
if (fDigits) {
for (Int_t iPlane=0; iPlane<fNPlanes; iPlane++) {
if (fDigits->At(iPlane)) ((TClonesArray*)fDigits->At(iPlane))->Delete();
}
fDigits->Delete();
delete fDigits;
fDigits = NULL;
}
}
void AliMFTReconstructor::Init() {
AliMFTSegmentation *segmentation = new AliMFTSegmentation("AliMFTGeometry.root");
fNPlanes = segmentation->GetNPlanes();
delete segmentation;
fDigits = new TObjArray(fNPlanes);
fDigits->SetOwner(kTRUE);
for (Int_t iPlane=0; iPlane<fNPlanes; iPlane++) {
fDigits->AddAt(new TClonesArray("AliMFTDigit"),iPlane);
((TClonesArray*)fDigits->At(iPlane))->SetOwner(kTRUE);
}
AliInfo(" ************* Using the MFT reconstructor! ************ ");
return;
}
void AliMFTReconstructor::ResetDigits() {
if (!fDigits) return;
for (Int_t iPlane=0; iPlane<fNPlanes; iPlane++) {
ResetDigits(iPlane);
}
}
void AliMFTReconstructor::ResetDigits(Int_t plane) {
if (fDigits->At(plane)) ((TClonesArray*)fDigits->At(plane))->Clear();
}
void AliMFTReconstructor::Reconstruct(TTree *digitsTree, TTree *clustersTree) const {
AliInfo("Starting Reconstruction for MFT");
for (Int_t iPlane=0; iPlane<fNPlanes; iPlane++) {
AliDebug(1, Form("Setting Address for Branch Plane_%02d", iPlane));
digitsTree->SetBranchAddress(Form("Plane_%02d",iPlane), &(*fDigits)[iPlane]);
}
digitsTree->GetEntry(0);
AliDebug(1, "Creating clusterFinder");
AliMFTClusterFinder *clusterFinder = new AliMFTClusterFinder();
clusterFinder->ApplyMisalignment(kTRUE);
clusterFinder->Init("AliMFTGeometry.root");
clusterFinder->MakeClusterBranch(clustersTree);
clusterFinder->SetClusterTreeAddress(clustersTree);
clusterFinder->DigitsToClusters(fDigits);
clustersTree->Fill();
delete clusterFinder;
for (Int_t iPlane=0; iPlane<fNPlanes; iPlane++) {
AliDebug(1, Form("fDigits->At(%d)->Clear()",iPlane));
((TClonesArray*)fDigits->At(iPlane))->Delete();
}
}
AliTracker* AliMFTReconstructor::CreateTracker() const {
AliMFTTrackerMU *tracker = new AliMFTTrackerMU();
return tracker;
}
AliTracker* AliMFTReconstructor::CreateTrackleter() const {
AliInfo("Not implemented");
return NULL;
}
AliMFTReconstructor.cxx:1 AliMFTReconstructor.cxx:2 AliMFTReconstructor.cxx:3 AliMFTReconstructor.cxx:4 AliMFTReconstructor.cxx:5 AliMFTReconstructor.cxx:6 AliMFTReconstructor.cxx:7 AliMFTReconstructor.cxx:8 AliMFTReconstructor.cxx:9 AliMFTReconstructor.cxx:10 AliMFTReconstructor.cxx:11 AliMFTReconstructor.cxx:12 AliMFTReconstructor.cxx:13 AliMFTReconstructor.cxx:14 AliMFTReconstructor.cxx:15 AliMFTReconstructor.cxx:16 AliMFTReconstructor.cxx:17 AliMFTReconstructor.cxx:18 AliMFTReconstructor.cxx:19 AliMFTReconstructor.cxx:20 AliMFTReconstructor.cxx:21 AliMFTReconstructor.cxx:22 AliMFTReconstructor.cxx:23 AliMFTReconstructor.cxx:24 AliMFTReconstructor.cxx:25 AliMFTReconstructor.cxx:26 AliMFTReconstructor.cxx:27 AliMFTReconstructor.cxx:28 AliMFTReconstructor.cxx:29 AliMFTReconstructor.cxx:30 AliMFTReconstructor.cxx:31 AliMFTReconstructor.cxx:32 AliMFTReconstructor.cxx:33 AliMFTReconstructor.cxx:34 AliMFTReconstructor.cxx:35 AliMFTReconstructor.cxx:36 AliMFTReconstructor.cxx:37 AliMFTReconstructor.cxx:38 AliMFTReconstructor.cxx:39 AliMFTReconstructor.cxx:40 AliMFTReconstructor.cxx:41 AliMFTReconstructor.cxx:42 AliMFTReconstructor.cxx:43 AliMFTReconstructor.cxx:44 AliMFTReconstructor.cxx:45 AliMFTReconstructor.cxx:46 AliMFTReconstructor.cxx:47 AliMFTReconstructor.cxx:48 AliMFTReconstructor.cxx:49 AliMFTReconstructor.cxx:50 AliMFTReconstructor.cxx:51 AliMFTReconstructor.cxx:52 AliMFTReconstructor.cxx:53 AliMFTReconstructor.cxx:54 AliMFTReconstructor.cxx:55 AliMFTReconstructor.cxx:56 AliMFTReconstructor.cxx:57 AliMFTReconstructor.cxx:58 AliMFTReconstructor.cxx:59 AliMFTReconstructor.cxx:60 AliMFTReconstructor.cxx:61 AliMFTReconstructor.cxx:62 AliMFTReconstructor.cxx:63 AliMFTReconstructor.cxx:64 AliMFTReconstructor.cxx:65 AliMFTReconstructor.cxx:66 AliMFTReconstructor.cxx:67 AliMFTReconstructor.cxx:68 AliMFTReconstructor.cxx:69 AliMFTReconstructor.cxx:70 AliMFTReconstructor.cxx:71 AliMFTReconstructor.cxx:72 AliMFTReconstructor.cxx:73 AliMFTReconstructor.cxx:74 AliMFTReconstructor.cxx:75 AliMFTReconstructor.cxx:76 AliMFTReconstructor.cxx:77 AliMFTReconstructor.cxx:78 AliMFTReconstructor.cxx:79 AliMFTReconstructor.cxx:80 AliMFTReconstructor.cxx:81 AliMFTReconstructor.cxx:82 AliMFTReconstructor.cxx:83 AliMFTReconstructor.cxx:84 AliMFTReconstructor.cxx:85 AliMFTReconstructor.cxx:86 AliMFTReconstructor.cxx:87 AliMFTReconstructor.cxx:88 AliMFTReconstructor.cxx:89 AliMFTReconstructor.cxx:90 AliMFTReconstructor.cxx:91 AliMFTReconstructor.cxx:92 AliMFTReconstructor.cxx:93 AliMFTReconstructor.cxx:94 AliMFTReconstructor.cxx:95 AliMFTReconstructor.cxx:96 AliMFTReconstructor.cxx:97 AliMFTReconstructor.cxx:98 AliMFTReconstructor.cxx:99 AliMFTReconstructor.cxx:100 AliMFTReconstructor.cxx:101 AliMFTReconstructor.cxx:102 AliMFTReconstructor.cxx:103 AliMFTReconstructor.cxx:104 AliMFTReconstructor.cxx:105 AliMFTReconstructor.cxx:106 AliMFTReconstructor.cxx:107 AliMFTReconstructor.cxx:108 AliMFTReconstructor.cxx:109 AliMFTReconstructor.cxx:110 AliMFTReconstructor.cxx:111 AliMFTReconstructor.cxx:112 AliMFTReconstructor.cxx:113 AliMFTReconstructor.cxx:114 AliMFTReconstructor.cxx:115 AliMFTReconstructor.cxx:116 AliMFTReconstructor.cxx:117 AliMFTReconstructor.cxx:118 AliMFTReconstructor.cxx:119 AliMFTReconstructor.cxx:120 AliMFTReconstructor.cxx:121 AliMFTReconstructor.cxx:122 AliMFTReconstructor.cxx:123 AliMFTReconstructor.cxx:124 AliMFTReconstructor.cxx:125 AliMFTReconstructor.cxx:126 AliMFTReconstructor.cxx:127 AliMFTReconstructor.cxx:128 AliMFTReconstructor.cxx:129 AliMFTReconstructor.cxx:130 AliMFTReconstructor.cxx:131 AliMFTReconstructor.cxx:132 AliMFTReconstructor.cxx:133 AliMFTReconstructor.cxx:134 AliMFTReconstructor.cxx:135 AliMFTReconstructor.cxx:136 AliMFTReconstructor.cxx:137 AliMFTReconstructor.cxx:138 AliMFTReconstructor.cxx:139 AliMFTReconstructor.cxx:140 AliMFTReconstructor.cxx:141 AliMFTReconstructor.cxx:142 AliMFTReconstructor.cxx:143 AliMFTReconstructor.cxx:144 AliMFTReconstructor.cxx:145 AliMFTReconstructor.cxx:146 AliMFTReconstructor.cxx:147 AliMFTReconstructor.cxx:148 AliMFTReconstructor.cxx:149 AliMFTReconstructor.cxx:150 AliMFTReconstructor.cxx:151 AliMFTReconstructor.cxx:152 AliMFTReconstructor.cxx:153 AliMFTReconstructor.cxx:154 AliMFTReconstructor.cxx:155 AliMFTReconstructor.cxx:156 AliMFTReconstructor.cxx:157 AliMFTReconstructor.cxx:158 AliMFTReconstructor.cxx:159 AliMFTReconstructor.cxx:160 AliMFTReconstructor.cxx:161 AliMFTReconstructor.cxx:162 AliMFTReconstructor.cxx:163 AliMFTReconstructor.cxx:164 AliMFTReconstructor.cxx:165 AliMFTReconstructor.cxx:166 AliMFTReconstructor.cxx:167 AliMFTReconstructor.cxx:168 AliMFTReconstructor.cxx:169 AliMFTReconstructor.cxx:170 AliMFTReconstructor.cxx:171 AliMFTReconstructor.cxx:172 AliMFTReconstructor.cxx:173 AliMFTReconstructor.cxx:174 AliMFTReconstructor.cxx:175 AliMFTReconstructor.cxx:176 AliMFTReconstructor.cxx:177 AliMFTReconstructor.cxx:178 AliMFTReconstructor.cxx:179 AliMFTReconstructor.cxx:180 AliMFTReconstructor.cxx:181 AliMFTReconstructor.cxx:182