#include "AliMUONTriggerTrack.h"
#include "AliMUONTriggerCircuitNew.h"
#include "AliMUONTriggerCrateStore.h"
+#include "AliMpSegFactory.h"
#include "AliRawReader.h"
#include "AliRun.h"
fDigitMaker(new AliMUONDigitMaker()),
fCalibrationData(0x0),
fCrateManager(new AliMUONTriggerCrateStore()),
- fTriggerCircuit(new TClonesArray("AliMUONTriggerCircuitNew", 234))
+ fTriggerCircuit(new TClonesArray("AliMUONTriggerCircuitNew", 234)),
+ fSegFactory(new AliMpSegFactory()),
+ fTransformer(new AliMUONGeometryTransformer(kTRUE))
+
{
/// Default constructor
// set to digit maker
fDigitMaker->SetCrateManager(fCrateManager);
+ // set segmentation
+ fDigitMaker->SetSegFactory(fSegFactory);
+
+ // transformater
+ fTransformer->ReadGeometryData("volpath.dat", "geometry.root");
+
// trigger circuit
for (Int_t i = 0; i < AliMUONConstants::NTriggerCircuit(); i++) {
AliMUONTriggerCircuitNew* c = new AliMUONTriggerCircuitNew();
+ c->SetSegFactory(fSegFactory);
+ c->SetTransformer(fTransformer);
c->Init(i,*fCrateManager);
TClonesArray& circuit = *fTriggerCircuit;
new(circuit[circuit.GetEntriesFast()])AliMUONTriggerCircuitNew(*c);
delete c;
- }
+ }
+
+
}
//_____________________________________________________________________________
delete fDigitMaker;
delete fCrateManager;
delete fTriggerCircuit;
+ delete fSegFactory;
+ delete fTransformer;
}
//_____________________________________________________________________________
AliMUONData* data = new AliMUONData(loader,"MUON","MUON");
// passing loader as argument.
- AliMUONTrackReconstructor* recoEvent = new AliMUONTrackReconstructor(loader, data);
+ AliMUONTrackReconstructor* recoEvent = new AliMUONTrackReconstructor(data);
recoEvent->SetTriggerCircuit(fTriggerCircuit);
if (strstr(GetOption(),"Original"))
- recoEvent->SetTrackMethod(1); // Original tracking
+ recoEvent->SetTrackMethod(kOriginal); // Original tracking
else if (strstr(GetOption(),"Combi"))
- recoEvent->SetTrackMethod(3); // Combined cluster / track
+ recoEvent->SetTrackMethod(kCombi); // Combined cluster / track
else
- recoEvent->SetTrackMethod(2); // Kalman
+ recoEvent->SetTrackMethod(kKalman); // Kalman
AliMUONClusterReconstructor* recoCluster = new AliMUONClusterReconstructor(data);
TTask* calibration = GetCalibrationTask(data);
- Int_t chBeg = recoEvent->GetTrackMethod() == 3 ? 6 : 0;
+ Int_t chBeg = (recoEvent->GetTrackMethod() == kCombi ? 6 : 0);
+
// Loop over events
for(Int_t ievent = 0; ievent < nEvents; ievent++) {
if (!loader->TreeR()) loader->MakeRecPointsContainer();
// tracking branch
- if (recoEvent->GetTrackMethod() != 3) {
+ if (recoEvent->GetTrackMethod() != kCombi) {
data->MakeBranch("RC");
data->SetTreeAddress("D,RC");
} else {
recoCluster->Digits2Clusters(chBeg);
- if (recoEvent->GetTrackMethod() == 3) {
+ if (recoEvent->GetTrackMethod() == kCombi) {
// Combined cluster / track finder
AliMUONEventRecoCombi::Instance()->FillEvent(data, (AliMUONClusterFinderAZ*)recModel);
((AliMUONClusterFinderAZ*) recModel)->SetReco(2);
loader->WriteTracks("OVERWRITE");
- if (recoEvent->GetTrackMethod() == 3) {
+ if (recoEvent->GetTrackMethod() == kCombi) {
// Combined cluster / track
((AliMUONClusterFinderAZ*) recModel)->SetReco(1);
data->MakeBranch("RC");
//--------------------------- Resetting branches -----------------------
data->ResetDigits();
- data->ResetRawClusters();
- data->ResetTrigger();
-
data->ResetRawClusters();
data->ResetTrigger();
data->ResetRecTracks();
AliMUONData data(loader,"MUON","MUON");
// passing loader as argument.
- AliMUONTrackReconstructor recoEvent(loader, &data);
+ AliMUONTrackReconstructor recoEvent(&data);
recoEvent.SetTriggerCircuit(fTriggerCircuit);
fDigitMaker->SetMUONData(&data);
if (strstr(GetOption(),"Original"))
{
- recoEvent.SetTrackMethod(1); // Original tracking
+ recoEvent.SetTrackMethod(kOriginal); // Original tracking
}
else
{
- recoEvent.SetTrackMethod(2); // Kalman
+ recoEvent.SetTrackMethod(kKalman);
}
AliMUONClusterFinderVS *recModel = recoCluster.GetRecoModel();
//--------------------------- Resetting branches -----------------------
data.ResetDigits();
- data.ResetRawClusters();
- data.ResetTrigger();
-
data.ResetRawClusters();
data.ResetTrigger();
data.ResetRecTracks();