#include "AliLog.h"
#include "AliMpDEManager.h"
-#include "AliMpStationType.h"
#include "AliMUONCluster.h"
#include "AliMUONConstants.h"
#include "AliMUONVDigit.h"
#include "AliMUONMathieson.h"
#include "AliMUONPad.h"
#include "AliMpArea.h"
-#include "TClonesArray.h"
#include "TObjArray.h"
#include "TVector2.h"
#include "TVirtualFitter.h"
AliMUONClusterFinderSimpleFit::AliMUONClusterFinderSimpleFit(AliMUONVClusterFinder* clusterFinder)
: AliMUONVClusterFinder(),
fClusterFinder(clusterFinder),
-fMathieson(0x0)
+fMathieson(0x0),
+fLowestClusterCharge(0)
{
/// ctor
}
//_____________________________________________________________________________
Bool_t
-AliMUONClusterFinderSimpleFit::Prepare(const AliMpVSegmentation* segmentations[2],
- const AliMUONVDigitStore& digitStore)
+AliMUONClusterFinderSimpleFit::Prepare(Int_t detElemId,
+ TObjArray* pads[2],
+ const AliMpArea& area)
{
/// Prepare for clustering
// FIXME: should we get the Mathieson from elsewhere ?
// Find out the DetElemId
- Int_t detElemId(-1);
-
- TIter next(digitStore.CreateIterator());
- AliMUONVDigit* d = static_cast<AliMUONVDigit*>(next());
-
- if (d)
- {
- detElemId = d->DetElemId();
- }
- else
- {
- AliWarning("Could not find DE. Probably no digits at all : here's the digitStore :");
- StdoutToAliWarning(digitStore.Print(););
- return kFALSE;
- }
-
- AliMp::StationType stationType = AliMpDEManager::GetStationType(detElemId);
+ AliMq::Station12Type stationType = AliMpDEManager::GetStation12Type(detElemId);
Float_t kx3 = AliMUONConstants::SqrtKx3();
Float_t ky3 = AliMUONConstants::SqrtKy3();
Float_t pitch = AliMUONConstants::Pitch();
- if ( stationType == AliMp::kStation1 )
+ if ( stationType == AliMq::kStation1 )
{
kx3 = AliMUONConstants::SqrtKx3St1();
ky3 = AliMUONConstants::SqrtKy3St1();
fMathieson->SetSqrtKx3AndDeriveKx2Kx4(kx3);
fMathieson->SetSqrtKy3AndDeriveKy2Ky4(ky3);
- return fClusterFinder->Prepare(segmentations,digitStore);
+ return fClusterFinder->Prepare(detElemId,pads,area);
}
//_____________________________________________________________________________
{
ComputePosition(*cluster);
- if ( cluster->Charge() < 7 )
+ if ( cluster->Charge() < fLowestClusterCharge )
{
// skip that one
return NextCluster();