#include "AliMUONConstants.h"
#include "AliMUONVDigit.h"
-#include "AliMUONDigitMaker.h"
-#include "AliMUONDigitStoreV1.h"
+#include "AliMUONVDigitStore.h"
#include "AliMUONGeometryTransformer.h"
#include "AliMUONLocalTrigger.h"
#include "AliMUONLocalTriggerBoard.h"
//______________________________________________________________________________
AliMUONTrackHitPattern::AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam,
const AliMUONGeometryTransformer& transformer,
- const AliMUONDigitMaker& digitMaker)
+ const AliMUONVDigitStore& digitStore)
: TObject(),
fkRecoParam(recoParam),
fkTransformer(transformer),
-fkDigitMaker(digitMaker),
+fkDigitStore(digitStore),
fkMaxDistance(99999.)
{
/// Default constructor
/// and searches for matching trigger tracks and digits
//
- AliMUONDigitStoreV1 digitStore;
- fkDigitMaker.TriggerToDigitsStore(triggerStore,digitStore);
-
// Get the hit pattern for all trigger tracks
AliMUONTriggerTrack* triggerTrack;
TIter itTriggerTrack(triggerTrackStore.CreateIterator());
while ( ( triggerTrack = static_cast<AliMUONTriggerTrack*>(itTriggerTrack() ) ) ){
- UShort_t pattern = GetHitPattern(triggerTrack, digitStore);
+ UShort_t pattern = GetHitPattern(triggerTrack);
triggerTrack->SetHitsPatternInTrigCh(pattern);
AliDebug(1, Form("Hit pattern: hits 0x%x slat %2i board %3i effFlag %i",
pattern & 0xFF, AliESDMuonTrack::GetSlatOrInfo(pattern),
// the obtained pattern is good for check, but not good for efficiency determination.
UShort_t pattern = matchedTriggerTrack ?
matchedTriggerTrack->GetHitsPatternInTrigCh() :
- GetHitPattern(&trackParam, digitStore);
+ GetHitPattern(&trackParam);
track->SetHitsPatternInTrigCh(pattern);
}
//______________________________________________________________________________
-UShort_t AliMUONTrackHitPattern::GetHitPattern(AliMUONTriggerTrack* matchedTriggerTrack,
- AliMUONVDigitStore& digitStore) const
+UShort_t AliMUONTrackHitPattern::GetHitPattern(AliMUONTriggerTrack* matchedTriggerTrack) const
{
//
/// Get hit pattern on trigger chambers for the current trigger track
//
UShort_t pattern = 0;
- PerformTrigTrackMatch(pattern, matchedTriggerTrack, digitStore);
+ PerformTrigTrackMatch(pattern, matchedTriggerTrack);
return pattern;
}
//______________________________________________________________________________
-UShort_t AliMUONTrackHitPattern::GetHitPattern(AliMUONTrackParam* trackParam,
- AliMUONVDigitStore& digitStore) const
+UShort_t AliMUONTrackHitPattern::GetHitPattern(AliMUONTrackParam* trackParam) const
{
//
/// Get hit pattern on trigger chambers for the current tracker track
{
Int_t iChamber = kNTrackingCh+ch;
AliMUONTrackExtrap::ExtrapToZCov(trackParam, AliMUONConstants::DefaultChamberZ(iChamber));
- FindPadMatchingTrack(digitStore, *trackParam, isMatch, iChamber);
+ FindPadMatchingTrack(*trackParam, isMatch, iChamber);
for(Int_t cath=0; cath<2; ++cath)
{
if(isMatch[cath]) AliESDMuonTrack::SetFiredChamber(pattern, cath, ch);
//______________________________________________________________________________
void
-AliMUONTrackHitPattern::FindPadMatchingTrack(const AliMUONVDigitStore& digitStore,
- const AliMUONTrackParam& trackParam,
+AliMUONTrackHitPattern::FindPadMatchingTrack(const AliMUONTrackParam& trackParam,
Bool_t isMatch[2], Int_t iChamber) const
{
//
minMatchDist[cath]=fkMaxDistance/10.;
}
- TIter next(digitStore.CreateIterator());
+ TIter next(fkDigitStore.CreateTriggerIterator());
AliMUONVDigit* mDigit;
while ( ( mDigit = static_cast<AliMUONVDigit*>(next()) ) )
//_____________________________________________________________________________
-Int_t AliMUONTrackHitPattern::FindPadMatchingTrig(const AliMUONVDigitStore& digitStore, Int_t &detElemId,
+Int_t AliMUONTrackHitPattern::FindPadMatchingTrig(Int_t &detElemId,
Float_t coor[2], Bool_t isMatch[2],
TArrayI nboard[2], TArrayF &zRealMatch, Float_t y11) const
{
Float_t foundZmatch=999.;
Float_t yCoorAtPadZ=999.;
- TIter next(digitStore.CreateIterator());
+ TIter next(fkDigitStore.CreateTriggerIterator());
AliMUONVDigit* mDigit;
Int_t idigit=0;
//_____________________________________________________________________________
Bool_t AliMUONTrackHitPattern::PerformTrigTrackMatch(UShort_t &pattern,
- const AliMUONTriggerTrack* matchedTrigTrack,
- AliMUONVDigitStore& digitStore) const
+ const AliMUONTriggerTrack* matchedTrigTrack) const
{
//
/// It searches for matching digits around the trigger track.
continue;
}
- triggeredDigits[currCh] = FindPadMatchingTrig(digitStore, detElemIdFromTrack, trackIntersectCh[currCh], isMatch, nboard, zRealMatch, y11);
+ triggeredDigits[currCh] = FindPadMatchingTrig(detElemIdFromTrack, trackIntersectCh[currCh], isMatch, nboard, zRealMatch, y11);
// if FindPadMatchingTrig = -500 => too many digits matching pad =>
// => Event not clear => Do not use for efficiency calculation
class AliMUONVTriggerStore;
class AliMUONVTriggerTrackStore;
class AliMUONTrackParam;
-class AliMUONDigitMaker;
class AliMUONGeometryTransformer;
class AliMUONVDigitStore;
class AliMUONTriggerTrack;
AliMUONTrackHitPattern(const AliMUONRecoParam* recoParam,
const AliMUONGeometryTransformer& transformer,
- const AliMUONDigitMaker& digitMaker);
+ const AliMUONVDigitStore& digitStore);
virtual ~AliMUONTrackHitPattern(); // Destructor
void ExecuteValidation(const AliMUONVTrackStore& trackStore,
const AliMUONVTriggerTrackStore& triggerTrackStore,
const AliMUONVTriggerStore& triggerStore) const;
- UShort_t GetHitPattern(AliMUONTriggerTrack* matchedTriggerTrack,
- AliMUONVDigitStore& digitStore) const;
+ UShort_t GetHitPattern(AliMUONTriggerTrack* matchedTriggerTrack) const;
- UShort_t GetHitPattern(AliMUONTrackParam* trackParam,
- AliMUONVDigitStore& digitStore) const;
+ UShort_t GetHitPattern(AliMUONTrackParam* trackParam) const;
protected:
void ApplyMCSCorrections(AliMUONTrackParam& trackParam) const;
// Methods for hit pattern from tracker track
- void FindPadMatchingTrack(const AliMUONVDigitStore& digitStore,
- const AliMUONTrackParam& trackParam,
+ void FindPadMatchingTrack(const AliMUONTrackParam& trackParam,
Bool_t isMatch[2], Int_t iChamber) const;
Float_t MinDistanceFromPad(Float_t xPad, Float_t yPad, Float_t zPad,
// Methods for hit pattern from matched trigger track
Bool_t PerformTrigTrackMatch(UShort_t &pattern,
- const AliMUONTriggerTrack* matchedTrigTrack,
- AliMUONVDigitStore& digitStore) const;
+ const AliMUONTriggerTrack* matchedTrigTrack) const;
- Int_t FindPadMatchingTrig(const AliMUONVDigitStore& digitStore, Int_t &detElemId, Float_t coor[2],
+ Int_t FindPadMatchingTrig(Int_t &detElemId, Float_t coor[2],
Bool_t isMatch[2], TArrayI nboard[2],
TArrayF &zRealMatch, Float_t y11) const;
const AliMUONRecoParam* fkRecoParam; //!< pointer to reco parameters
const AliMUONGeometryTransformer& fkTransformer; //!< geometry transformer
- const AliMUONDigitMaker& fkDigitMaker; //!< pointer to digit maker
+ const AliMUONVDigitStore& fkDigitStore; //!< digitStore
const Float_t fkMaxDistance; //!< Maximum distance for reference
static const Int_t fgkNcathodes=2; //!<Number of cathodes
#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,
AliMUONVDigitStore& digitStore,
- const AliMUONDigitMaker* digitMaker,
const AliMUONGeometryTransformer* transformer,
const AliMUONTriggerCircuit* triggerCircuit)
: AliTracker(),
-fkDigitMaker(digitMaker), // not owner
fkTransformer(transformer), // not owner
fkTriggerCircuit(triggerCircuit), // not owner
fTrackHitPatternMaker(0x0),
fkRecoParam(recoParam)
{
/// constructor
- if (fkTransformer && fkDigitMaker)
- fTrackHitPatternMaker = new AliMUONTrackHitPattern(recoParam,*fkTransformer,*fkDigitMaker);
+ if (fkTransformer)
+ fTrackHitPatternMaker = new AliMUONTrackHitPattern(recoParam,*fkTransformer,fkDigitStore);
if (!fClusterServer)
{