#include "AliMUONTriggerTrackStoreV1.h"
#include "AliMUONTriggerTrack.h"
#include "AliMUONLocalTrigger.h"
-#include "AliMUONVCluster.h"
#include "AliMUONVClusterServer.h"
#include "AliMUONVDigitStore.h"
#include "AliMUONVTriggerStore.h"
+#include "AliMUONDigitMaker.h"
#include <Riostream.h>
#include <TRandom.h>
#include <TTree.h>
//_____________________________________________________________________________
AliMUONTracker::AliMUONTracker(const AliMUONRecoParam* recoParam,
AliMUONVClusterServer* clusterServer,
- const AliMUONVDigitStore& digitStore,
+ AliMUONVDigitStore& digitStore,
const AliMUONDigitMaker* digitMaker,
const AliMUONGeometryTransformer* transformer,
const AliMUONTriggerCircuit* triggerCircuit)
: AliTracker(),
-fDigitMaker(digitMaker), // not owner
-fTransformer(transformer), // not owner
-fTriggerCircuit(triggerCircuit), // not owner
+fkDigitMaker(digitMaker), // not owner
+fkTransformer(transformer), // not owner
+fkTriggerCircuit(triggerCircuit), // not owner
fTrackHitPatternMaker(0x0),
fTrackReco(0x0),
fClusterStore(0x0),
fTriggerStore(0x0),
fClusterServer(clusterServer),
fIsOwnerOfClusterServer(kFALSE),
-fDigitStore(digitStore), // not owner
+fkDigitStore(digitStore), // not owner
fInputClusterStore(0x0),
fTriggerTrackStore(0x0),
-fRecoParam(recoParam)
+fkRecoParam(recoParam)
{
/// constructor
- if (fTransformer && fDigitMaker)
- fTrackHitPatternMaker = new AliMUONTrackHitPattern(recoParam,*fTransformer,*fDigitMaker);
+ if (fkTransformer && fkDigitMaker)
+ fTrackHitPatternMaker = new AliMUONTrackHitPattern(recoParam,*fkTransformer,*fkDigitMaker);
if (!fClusterServer)
{
- AliInfo("No cluster server given. Will use AliMUONLegacyClusterServer");
+ AliDebug(1,"No cluster server given. Will use AliMUONLegacyClusterServer");
fIsOwnerOfClusterServer = kTRUE;
}
else
{
- TIter next(fDigitStore.CreateIterator());
- fClusterServer->UseDigits(next);
+ TIter next(fkDigitStore.CreateIterator());
+ fClusterServer->UseDigits(next,&digitStore);
SetupClusterServer(*fClusterServer);
}
fInputClusterStore = AliMUONVClusterStore::Create(*clustersTree);
if ( fInputClusterStore )
{
- AliInfo(Form("Created %s from cluster tree",fInputClusterStore->ClassName()));
+ AliDebug(1,Form("Created %s from cluster tree",fInputClusterStore->ClassName()));
fInputClusterStore->Clear();
fInputClusterStore->Connect(*clustersTree,kFALSE);
}
delete fClusterServer;
- fClusterServer = new AliMUONLegacyClusterServer(*fTransformer,fInputClusterStore,
+ fClusterServer = new AliMUONLegacyClusterServer(*fkTransformer,fInputClusterStore,
GetRecoParam()->BypassSt4(),
GetRecoParam()->BypassSt5());
SetupClusterServer(*fClusterServer);
}
// Make trigger tracks
- if ( fTriggerCircuit )
+ if ( fkTriggerCircuit )
{
TriggerTrackStore()->Clear();
- fTrackReco->EventReconstructTrigger(*fTriggerCircuit,*fTriggerStore,*(TriggerTrackStore()));
+ fTrackReco->EventReconstructTrigger(*fkTriggerCircuit,*fTriggerStore,*(TriggerTrackStore()));
}
- if ( ( GetRecoParam()->BypassSt4() ||
- GetRecoParam()->BypassSt5() ) &&
- TriggerTrackStore()->GetSize() > 5 )
+ if ( TriggerTrackStore()->GetSize() > GetRecoParam()->GetMaxTriggerTracks() )
{
- // Hard cut to reject shower events
+ // cut to reject shower events
AliCodeTimerAuto("MUON Shower events");
}
//_____________________________________________________________________________
-void AliMUONTracker::FillESD(AliMUONVTrackStore& trackStore, AliESDEvent* esd) const
+void AliMUONTracker::FillESD(const AliMUONVTrackStore& trackStore, AliESDEvent* esd) const
{
/// Fill the ESD from the trackStore
AliDebug(1,"");
if (track->GetMatchTrigger() > 0) {
locTrg = static_cast<AliMUONLocalTrigger*>(fTriggerStore->FindLocal(track->LoCircuit()));
- AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex, &fDigitStore, locTrg);
- } else AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex, &fDigitStore);
+ AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex, &fkDigitStore, locTrg);
+ } else AliMUONESDInterface::MUONToESD(*track, esdTrack, vertex, &fkDigitStore);
esd->AddMuonTrack(&esdTrack);
}
if (matched) break;
}
if (matched) continue;
-
- AliMUONESDInterface::MUONToESD(*locTrg, esdTrack, ghostId);
+
+ AliMUONESDInterface::MUONToESD(*locTrg, esdTrack, ghostId, triggerTrack);
esd->AddMuonTrack(&esdTrack);
ghostId -= 1;
return 0x0;
}
- AliInfoClass(Form("Will use %s for tracking",trackReco->ClassName()));
+ AliDebugClass(1,Form("Will use %s for tracking",trackReco->ClassName()));
return trackReco;
}