51 #include <TIterator.h> 54 #include <Riostream.h> 55 #include <TGeoGlobalMagField.h> 56 #include <TVirtualMagField.h> 189 for (Int_t iCluster = 0; iCluster < track->
GetNClusters(); iCluster++) {
195 cMap->
Add(cluster->GetUniqueID(), cluster);
200 dMaps->
Add(cluster->GetUniqueID(), dMap);
203 for (Int_t iDigit = 0; iDigit < cluster->
GetNDigits(); iDigit++) {
209 if (digit) dMap->
Add(digit->GetUniqueID(), digit);
210 else AliError(
"a digit is missing");
234 while ((track = static_cast<AliMUONTrack*>(next()))) nClusters += track->
GetNClusters();
260 while ((cluster = static_cast<AliMUONVCluster*>(next()))) nDigits += cluster->
GetNDigits();
293 while ((cluster = static_cast<AliMUONVCluster*>(next())))
294 if (cluster->
GetNDigits() == 0)
return kFALSE;
303 if (!track)
AliWarning(Form(
"track %d does not exist",trackId));
317 while ((cMap = static_cast<AliMpExMap*>(next()))) {
320 if (cluster)
return cluster;
326 if (!cluster)
AliWarning(Form(
"cluster %d does not exist",clusterId));
336 if (!cluster)
AliWarning(Form(
"cluster %d does not exist in track %d", clusterId, trackId));
345 if (!digit)
AliWarning(Form(
"digit %d does not exist",digitId));
412 while ((dMaps = static_cast<AliMpExMap*>(next()))) {
450 if (info)
AliInfoClass(
"will refit tracks with provided RecoParam:");
465 else cout<<
" --> Do not use smoother"<<endl;
466 cout<<
" --> Vertex dispersion in bending direction = " 483 if (!classPtr || !classPtr->InheritsFrom(
"AliMUONVTrackStore")) {
495 if (!classPtr || !classPtr->InheritsFrom(
"AliMUONVClusterStore")) {
507 if (!classPtr || !classPtr->InheritsFrom(
"AliMUONVClusterStore")) {
522 if (!classPtr || !classPtr->InheritsFrom(
"AliMUONVDigitStore")) {
534 if (!classPtr || !classPtr->InheritsFrom(
"AliMUONVDigitStore")) {
549 if (!classPtr || !classPtr->InheritsFrom(
"AliMUONVTriggerStore")) {
561 if (!classPtr || !classPtr->InheritsFrom(
"AliMUONVTriggerTrackStore")) {
620 jacob(1,1) = 1. / cosThetaX / cosThetaX;
622 jacob(3,3) = 1. / cosThetaY / cosThetaY;
626 TMatrixD tmp(covariances,TMatrixD::kMultTranspose,jacob);
682 Double_t cosThetaY = TMath::Cos(TMath::ATan(trackParam.
GetBendingSlope()));
686 jacob(1,1) = cosThetaX * cosThetaX;
688 jacob(3,3) = cosThetaY * cosThetaY;
711 track.SetUniqueID(esdTrack.GetUniqueID());
718 track.SetUniqueID(esdTrack.GetUniqueID());
747 Bool_t clusterFound = kFALSE;
755 if (esdCluster) clusterFound = kTRUE;
773 if (clusterFound && refit) {
781 *firstTrackParam = paramSave;
820 locTrg = emptyLocTrg;
825 locTrg.SetUniqueID(esdTrack.GetUniqueID());
832 for (Int_t ich = 0; ich < 4; ich++)
854 cluster.SetUniqueID(esdCluster.GetUniqueID());
880 digit.SetUniqueID(esdPad.GetUniqueID());
897 MUONToESD(track, *esdTrack, vertex, locTrg);
916 if (locTrg)
MUONToESD(*locTrg, esdTrack, track.GetUniqueID());
918 cout<<
"W-AliMUONESDInterface::MUONToESD: will produce an empty ESDMuon track"<<endl;
920 esdTrack.SetUniqueID(0xFFFFFFFF);
928 esdTrack.SetUniqueID(track.GetUniqueID());
999 MUONToESD(locTrg, *esdTrack, trackId, triggerTrack);
1009 esdTrack.SetUniqueID(trackId);
1030 UShort_t hitPattern = 0;
1051 else if (!digits || esdCluster->
GetNPads() > 0)
return;
1057 for (Int_t i=0; i<cluster.
GetNDigits(); i++) {
1068 MUONToESD(cluster, *esdCluster, kFALSE);
1080 esdCluster.
Clear(
"C");
1082 esdCluster.SetUniqueID(cluster.GetUniqueID());
1106 esdPad.SetUniqueID(digit.GetUniqueID());
1119 if(trackStore.
FindObject(esdTrack.GetUniqueID()))
return 0x0;
1132 triggerStore.
Add(locTrg);
1141 if (cluster)
ESDToMUON(esdCluster, *cluster);
Int_t LoStripX(void) const
AliMUONVDigitStore * fDigits
digit container
Int_t GetADC() const
Return the raw charge.
static Double_t AbsZEnd()
Return z-position of absorber end.
Class to describe the MUON pads in the Event Summary Data.
Double_t GetBendingCoor(void) const
void SetLocalTrigger(Int_t locTrig)
Base class of a track container.
UShort_t GetHitsPatternInTrigCh() const
Get word telling which trigger chambers where hit by track.
UInt_t GetHitsPatternInTrigChTrk() const
set word telling which trigger chambers where hit by track (from tracker track extrapolation) ...
static void ESDToMUON(const AliESDMuonTrack &esdTrack, AliMUONTrack &track, Bool_t refit=kTRUE)
Virtual class for the MUON track reconstruction.
static void MUONToESD(const AliMUONTrack &track, AliESDEvent &esd, const Double_t vertex[3], const AliMUONVDigitStore *digits=0x0, const AliMUONLocalTrigger *locTrg=0x0)
Int_t GetNClusters() const
return the number of clusters attached to the track
static AliMUONVCluster * NewCluster()
Int_t GetManuId() const
Return electronic card id, part of the uniqueID.
virtual TIterator * CreateLocalIterator() const =0
Create iterator on local trigger.
AliMUONVCluster * FindCluster(UInt_t clusterId) const
void SetThetaXAtDCA(Double_t ThetaX)
Double_t GetNonBendingCoorAtDCA(void) const
AliMUONVTriggerStore * fTriggers
trigger container
void SetTriggerY1Pattern(UShort_t pat)
AliESDMuonTrack * GetMuonTrack(Int_t i)
Double_t GetThetaY(void) const
Double_t GetBendingCoorAtDCA(void) const
Interface for a digit container.
void SetY3Pattern(UShort_t pat)
Set Y strip pattern for chamber 21.
AliESDMuonTrack * NewMuonTrack()
void SetLoTrigY(Int_t loTrigY)
Set Trig Y.
Implementation of AliMUONVTriggerStore.
TIterator * CreateDigitIteratorInCluster(UInt_t clusterId) const
static AliMpSegmentation * Instance(Bool_t warn=true)
virtual Double_t GetZ() const =0
Return coordinate Z (cm)
Class to describe the MUON tracks in the Event Summary Data class.
virtual Bool_t RefitTrack(AliMUONTrack &track, Bool_t enableImprovement=kTRUE)=0
Re-fit the given track.
Concrete implementation of AliMUONVDigitStore for real digits.
Double_t GetThetaX(void) const
void SetVertexErrXY2(Double_t nonBendingErr2, Double_t bendingErr2)
set the vertex resolution square used during the tracking procedure
void SetLoStripX(Int_t loStrX)
Set X strip in MT11.
Double_t GetBendingCoor() const
return bending coordinate (cm)
virtual TIterator * CreateIterator() const =0
Create an iterator to loop over tracks.
void SetX1Pattern(UShort_t pat)
Set X strip pattern for chamber 11.
AliESDEvent * GetESDEvent() const
void SetTriggerX4Pattern(UShort_t pat)
void LoadEvent(AliESDEvent &esdEvent, Bool_t refit=kTRUE)
void SetPadsId(Int_t nPads, const UInt_t *padsId)
void SetHitsPatternInTrigChTrk(UInt_t hitsPatternInTrigChTrk)
set word telling which trigger chambers where hit by track (from tracker track extrapolation) ...
static void ResetTracker(const AliMUONRecoParam *recoParam=0x0, Bool_t info=kTRUE)
static UInt_t BuildUniqueID(Int_t chamberId, Int_t detElemId, Int_t clusterIndex)
Build a single integer with id information.
virtual Int_t ADC() const =0
Raw ADC value of this digit.
Bool_t CovariancesExist() const
return kTRUE if the covariance matrix exist, kFALSE if not
Bool_t FitWithVertex() const
return kTrue if the vertex must be used to constrain the fit, kFalse if not
static void SetParamAtVertex(const AliMUONTrackParam &trackParam, AliESDMuonTrack &esdTrack)
virtual Int_t GetSize() const =0
The number of objects stored.
Implementation of AliMUONVTriggerTrackStore.
void SetInverseBendingMomentum(Double_t InverseBendingMomentum)
virtual Double_t GetErrX() const =0
Return resolution (cm) on coordinate X.
Double_t GetZ() const
return Z coordinate (cm)
UShort_t GetTriggerY3Pattern() const
Int_t LoLpt() const
Return Low pt.
void SetCalibrated(Bool_t calibrated=kTRUE)
Set the pad as being calibrated or not.
void GetCovariances(TMatrixD &cov) const
void SetTriggerX1Pattern(UShort_t pat)
Double_t GetThetaXAtDCA(void) const
const AliMpVSegmentation * GetMpSegmentationByElectronics(Int_t detElemId, Int_t elCardID, Bool_t warn=true) const
Double_t GetY() const
Return Y-position (cm)
Bool_t IsInMuonClusterMap(Int_t chamber) const
TIterator * CreateTrackIterator() const
Track parameters in ALICE dimuon spectrometer.
UShort_t GetTriggerX3Pattern() const
UInt_t GetHitsPatternInTrigChTrk() const
UShort_t GetHitsPatternInTrigCh() const
Class with MUON reconstruction parameters.
void SetNonBendingCoor(Double_t nonBendingCoor)
set non bending coordinate (cm)
virtual void Calibrated(Bool_t value)=0
Set the calibrated status (see note 1 in AliMUONVDigit.cxx)
UShort_t GetTriggerY1Pattern() const
Reconstructed trigger track in ALICE dimuon spectrometer.
void SetCharge(Double_t charge)
Set the calibrated charge.
Bool_t LoadMapping(Bool_t segmentationOnly)
virtual void SetCharge(Float_t q)=0
Set the charge of this digit.
virtual Float_t Charge() const =0
The charge of this digit, calibrated or not depending on IsCalibrated()
virtual Bool_t IsCalibrated() const =0
Whether this digit has been calibrated or not (see note 1 in AliMUONVDigit.cxx)
void SetBendingCoorAtDCA(Double_t BendingCoor)
void SetMCLabel(Int_t label)
set the corresponding MC track number
void SetDeviation(Int_t deviation)
virtual void SetErrXY(Double_t errX, Double_t errY)=0
Set resolution (cm) on coordinates (X,Y)
void SetErrXY(Double_t errX, Double_t errY)
Set (X,Y) resolution (cm)
Implementation of VClusterStore.
Int_t GetNClusters() const
Double_t GetChi2() const
Return the chi2 value.
Option_t * GetTrackingMode() const
get the tracking mode
Bool_t ContainTrackerData() const
Int_t LoHpt() const
Return High p.
#define AliFatalClass(message)
UShort_t GetX3Pattern() const
Return X strip pattern for chamber 21.
AliMUONVDigit * FindDigit(UInt_t digitId) const
Int_t LoStripY() const
Return Y strip in MT11.
Float_t GetX11() const
Return x position of fired Y strip in MC11.
Int_t GetLocalTrigger(void) const
return local trigger information for the matched trigger track
Int_t GetNumberOfMuonPads()
#define AliInfoClass(message)
void SetChi2(Double_t Chi2)
Base class of a trigger information store.
void SetNonBendingCoorUncorrected(Double_t NonBendingCoor)
Double_t GetInverseBendingMomentum() const
return inverse bending momentum (GeV/c ** -1) times the charge (assumed forward motion) ...
static void SetParamAtFirstCluster(const AliMUONTrackParam &trackParam, AliESDMuonTrack &esdTrack)
Float_t GetThetay() const
Return track theta angle in Y.
Double_t GetBendingVertexDispersion() const
return the vertex dispersion (cm) in bending plane
static TString fgTriggerTrackStoreName
class name of the trigger track store to use
virtual TIterator * CreateIterator() const =0
Create an iterator to loop over all our digits.
#define AliWarning(message)
virtual void Used(Bool_t value)=0
Set the used status.
Int_t GetChamberId() const
Return chamber id (0..), part of the uniqueID.
virtual Int_t GetSize() const =0
Number of digits we store.
virtual ~AliMUONESDInterface()
UShort_t GetY4Pattern() const
Return Y strip pattern for chamber 22.
static TString fgClusterStoreName
class name of the cluster store to use
UShort_t GetTriggerY4Pattern() const
virtual void Clear(Option_t *opt="")
UShort_t GetX4Pattern() const
Return X strip pattern for chamber 22.
Double_t GetChi2MatchTrigger(void) const
return the chi2 of trigger/track matching
virtual void Clear(Option_t *opt="")
virtual Bool_t Add(TObject *object)
Add an object to the store.
static TString fgTriggerStoreName
class name of the trigger store to use
Bool_t UpdateCovTrackParamAtCluster()
virtual UInt_t GetDigitId(Int_t i) const =0
Return Id of digits i.
void SetTriggerWithoutChamber(Int_t ich)
The board would provide a trigger even after removing chamber ich [0,3].
Int_t LoCircuit(void) const
static void GetParamAtFirstCluster(const AliESDMuonTrack &esdTrack, AliMUONTrackParam &trackParam)
void SetThetaX(Double_t ThetaX)
#define AliErrorClass(message)
void UseSmoother(Bool_t flag)
switch on/off the use of the smoother
virtual void SetXYZ(Double_t x, Double_t y, Double_t z)=0
Set coordinates (cm)
AliESDMuonPad * FindMuonPad(UInt_t padId)
Double_t GetBendingSlope() const
return bending slope (cm ** -1)
Int_t LoStripX() const
Return X strip in MT11.
void SetY4Pattern(UShort_t pat)
Set Y strip pattern for chamber 22.
UShort_t GetX1Pattern() const
Return X strip pattern for chamber 11.
Double_t GetInverseBendingMomentumAtDCA(void) const
void SetLoLpt(Int_t loLpt)
Set Low pt.
static AliMUONRecoParam * fgRecoParam
reconstruction parameters for refitting
void SetBendingSlope(Double_t bendingSlope)
set bending slope (cm ** -1)
void SetThetaY(Double_t ThetaY)
abstract base class for clusters
Int_t GetCathode() const
Return the cathode number, part of the uniqueID.
Bool_t IsSaturated() const
return kTRUE if the pad is saturated
static AliMUONVClusterStore * NewClusterStore()
void SetLabel(Int_t label)
Set the corresponding MC track number.
Double_t GetZ(void) const
UShort_t GetTriggerX4Pattern() const
void SetLoStripY(Int_t loStrY)
Set Y strip in MT11.
Reconstructed Local Trigger object.
Int_t GetNTriggers() const
void SetADC(Int_t adc)
Set the raw charge.
TIterator * CreateLocalTriggerIterator() const
void SetTrackParamAtVertex(const AliMUONTrackParam *trackParam)
Int_t GetNumberOfMuonTracks() const
virtual void SetADC(Int_t adc)=0
Set the ADC value.
void SetImproved(Bool_t improved)
set the flag telling whether the track has been improved or not
Implementation of TIterator for 2D maps.
void SetBendingCoorUncorrected(Double_t BendingCoor)
Bool_t FitWithMCS() const
return kTrue if the multiple scattering must be accounted for in the fit, kFalse if not ...
static AliMUONTrack * Add(const AliESDMuonTrack &esdTrack, AliMUONVTrackStore &trackStore, Bool_t refit=kTRUE)
void SetNonBendingCoor(Double_t NonBendingCoor)
Double_t GetGlobalChi2() const
return the minimum value of the function minimized by the fit
static AliMUONVTrackStore * NewTrackStore()
Double_t GetInverseBendingMomentum(void) const
void SetBendingCoor(Double_t BendingCoor)
void SetTriggerY3Pattern(UShort_t pat)
Double_t GetNonBendingCoorUncorrected(void) const
static AliMUONVTrackReconstructor * fgTracker
track reconstructor for refitting
void SetTriggerY2Pattern(UShort_t pat)
TIterator * CreateDigitIterator() const
UShort_t GetY1Pattern() const
Return Y strip pattern for chamber 11.
Converter between MUON track/cluster/digit and ESDMuon track/cluster/pad.
virtual void SetMCLabel(Int_t label)=0
Set the corresponding MC track number.
Class to describe the MUON clusters in the Event Summary Data.
UShort_t GetY3Pattern() const
Return Y strip pattern for chamber 21.
void AddTrackParamAtCluster(const AliMUONTrackParam &trackParam, AliMUONVCluster &cluster, Bool_t copy=kFALSE)
void SetRAtAbsorberEnd(Double_t r)
AliESDMuonCluster * FindMuonCluster(UInt_t clusterId)
Int_t GetClusterIndex() const
Return the index of this cluster (0..), part of the uniqueID.
Double_t GetCharge() const
Return the calibrated charge.
void SetLocalTrigger(Int_t loCirc, Int_t loStripX, Int_t loStripY, Int_t loDev, Int_t loLpt, Int_t loHpt, UChar_t respWithoutChamber=0)
set local trigger information for the matched trigger track
void SetX3Pattern(UShort_t pat)
Set X strip pattern for chamber 21.
virtual Double_t GetErrY() const =0
Return resolution (cm) on coordinate Y.
Double_t GetThetaXUncorrected(void) const
virtual void Clear(Option_t *opt="")
Bool_t IsCalibrated() const
return kTRUE if the pad is calibrated
Bool_t IsConnected() const
static AliMUONVTriggerStore * NewTriggerStore()
Float_t GetY11() const
Return y position of fired X strip in MC11.
void SetTriggerX3Pattern(UShort_t pat)
static void GetParamAtDCA(const AliESDMuonTrack &esdTrack, AliMUONTrackParam &trackParam)
Double_t GetZ() const
Return Z-position (cm)
virtual Int_t GetNDigits() const =0
Return number of associated digits.
AliMUONVTrackStore * fTracks
track container
Interface of a cluster container.
TObject * GetValue(Int_t keyFirst, Int_t keySecond) const
Int_t GetNPads() const
Return the number of pads associated to this cluster.
Int_t GetMCLabel() const
return the corresponding MC track number
virtual Double_t GetChi2() const =0
Return chi2 of cluster.
UShort_t GetTriggerY2Pattern() const
void SetCharge(Double_t charge)
Set the total charge.
UShort_t GetY2Pattern() const
Return Y strip pattern for chamber 12.
void SetThetaYUncorrected(Double_t ThetaY)
void SetZUncorrected(Double_t Z)
virtual void SetPadXY(Int_t padx, Int_t pady)=0
Set the ix and iy of this digit.
Double_t GetInverseBendingMomentumUncorrected(void) const
Float_t GetThetax() const
Return track theta angle in X.
Double_t GetChi2(void) const
void SetNonBendingSlope(Double_t nonBendingSlope)
set non bending slope (cm ** -1)
Base class of a trigger track store.
void SetMatchTrigger(Int_t matchTrigger)
set the flag telling whether track matches with trigger track or not
void SetMuonClusterMap(UInt_t muonClusterMap)
Double_t GetCharge() const
Return the total charge.
void Add(Int_t keyFirst, Int_t keySecond, TObject *object)
Double_t GetErrX() const
Return X-resolution (cm)
virtual void SetChi2(Double_t chi2)=0
Set chi2 of cluster.
AliESDMuonPad * GetMuonPad(Int_t i)
void SetX2Pattern(UShort_t pat)
Set X strip pattern for chamber 12.
Implementation of AliMUONVTrackStore.
void SetLabel(Int_t label)
Set the corresponding MC track number.
Int_t GetDeviation() const
Double_t GetNonBendingCoor(void) const
Int_t GetLabel() const
Return the corresponding MC track number.
Int_t LoStripY(void) const
virtual void SetDigitsId(Int_t nDigits, const UInt_t *digitsId)=0
Set Id of associated digits.
Double_t GetBendingCoorUncorrected(void) const
Int_t GetMatchTrigger() const
AliESDMuonCluster * NewMuonCluster()
Float_t GetZ11() const
Return z position of fired X strip in MC11.
Int_t GetLabel() const
Return the corresponding MC track number.
void SetThetaXUncorrected(Double_t ThetaX)
void SetOwner(Bool_t owner)
void SetY2Pattern(UShort_t pat)
Set Y strip pattern for chamber 12.
AliMpExMap * fClusterMap
map of clusters
Int_t GetNDigitsInCluster(UInt_t clusterId) const
static Int_t GetChamberId(UInt_t uniqueID)
Return chamber id (0..), part of the uniqueID.
void Connected(Bool_t flag=kTRUE)
set the flag which is kTRUE if that track shares cluster(s) with another
AliMpExMap * fDigitMap
map of digits
void SetInverseBendingMomentumAtDCA(Double_t InverseBendingMomentum)
void SetInverseBendingMomentum(Double_t inverseBendingMomentum)
set inverse bending momentum (GeV/c ** -1) times the charge (assumed forward motion) ...
UInt_t GetClusterId(Int_t i) const
virtual Double_t GetY() const =0
Return coordinate Y (cm)
void SetTriggerX2Pattern(UShort_t pat)
virtual void SetCharge(Double_t charge)=0
Set the cluster charge.
static AliMUONVTriggerTrackStore * NewTriggerTrackStore()
static void GetParamAtVertex(const AliESDMuonTrack &esdTrack, AliMUONTrackParam &trackParam)
static void GetParamCov(const AliESDMuonTrack &esdTrack, AliMUONTrackParam &trackParam)
void Connected(Bool_t flag=kTRUE)
Double_t GetThetaYAtDCA(void) const
void SetBendingCoor(Double_t bendingCoor)
set bending coordinate (cm)
Double_t GetChi2MatchTrigger() const
The abstract base class for the segmentation.
Int_t GetDetElemId() const
Return detection element id, part of the uniqueID.
static AliMUONVDigitStore * NewDigitStore()
void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh)
set word telling which trigger chambers where hit by track
UChar_t GetTriggerWithoutChamber() const
Triggers from the re-calculated trigger response after removing chambers one-by-one.
UShort_t GetTriggerX2Pattern() const
Double_t GetNonBendingCoor() const
return non bending coordinate (cm)
AliMUONTrack * FindTrack(UInt_t trackId) const
Int_t GetTriggerWithoutChamber(void) const
void SetThetaYAtDCA(Double_t ThetaY)
virtual void Saturated(Bool_t saturated=kTRUE)=0
Set the saturation status.
void AddClusterId(UInt_t clusterId)
AliMUONVCluster * GetClusterPtr() const
get pointeur to associated cluster
UShort_t GetX2Pattern() const
Return X strip pattern for chamber 12.
Double_t GetZUncorrected(void) const
AliMUONLocalTrigger * FindLocalTrigger(Int_t boardNumber) const
Class which encapsuate all information about a pad.
virtual Bool_t IsSaturated() const =0
Whether the ADC has saturated.
AliESDMuonPad * NewMuonPad()
virtual AliMUONVCluster * CreateCluster(Int_t chamberId, Int_t detElemId, Int_t clusterIndex) const =0
Create a cluster.
Double_t GetX() const
Return X-position (cm)
virtual Double_t GetX() const =0
Return coordinate X (cm)
virtual Bool_t Add(TObject *object)
Add an object, if of the right type.
virtual void Clear(Option_t *opt="")=0
Clear ourselves (i.e. Reset)
Bool_t ContainTriggerData() const
void SetLoHpt(Int_t loHpt)
Set High pt.
Reconstructed track in ALICE dimuon spectrometer.
#define AliError(message)
Double_t GetErrY() const
Return Y-resolution (cm)
void AddInMuonClusterMap(Int_t chamber)
void SetHitsPatternInTrigChTrk(UInt_t hitsPatternInTrigChTrk)
virtual const UInt_t * GetDigitsId() const
Return the array of digits'id.
Bool_t DigitsStored(UInt_t trackId) const
virtual Bool_t Add(TObject *object)
Add an object, if of the right type.
void SetChi2MatchTrigger(Double_t Chi2MatchTrigger)
virtual AliMUONVDigit * FindObject(const TObject *object) const
Find an object (default is to forward to FindObject(object->GetUniqueID())
Int_t GetNClusters() const
static AliMUONVDigit * NewDigit()
void SetCovariances(const TMatrixD &covariances)
static AliMUONVTrackReconstructor * CreateTrackReconstructor(const AliMUONRecoParam *recoParam, AliMUONVClusterServer *clusterServer, const AliMUONGeometryTransformer *transformer)
virtual AliMpPad PadByLocation(Int_t manuId, Int_t manuChannel, Bool_t warning=true) const =0
Find pad by location.
virtual AliMUONVDigit * CreateDigit(Int_t detElemId, Int_t manuId, Int_t manuChannel, Int_t cathode) const =0
Create a digit.
virtual void Clear(Option_t *)=0
Clear method (used by TClonesArray)
Double_t GetThetaYUncorrected(void) const
Int_t GetDetElemId() const
Return detection element id, part of the uniqueID.
static void SetParamCov(const AliMUONTrackParam &trackParam, AliESDMuonTrack &esdTrack)
void SetChi2(Double_t chi2)
Set the chi2 value.
void SetSaturated(Bool_t saturated=kTRUE)
Set the pad as being saturated or not.
void SetTriggerY4Pattern(UShort_t pat)
virtual Double_t GetCharge() const =0
Set the cluster charge.
void SetX4Pattern(UShort_t pat)
Set X strip pattern for chamber 22.
static TString fgDigitStoreName
class name of the digit store to use
void SetZ(Double_t z)
set Z coordinate (cm)
virtual void Clear(Option_t *opt="")
void SetY1Pattern(UShort_t pat)
Set Y strip pattern for chamber 11.
void SetNonBendingCoorAtDCA(Double_t NonBendingCoor)
const TMatrixD & GetCovariances() const
virtual AliMUONLocalTrigger * FindLocal(Int_t boardNumber) const =0
Find a local trigger by the board number (not an index, it is a number really)
TIterator * CreateClusterIterator() const
Int_t LoCircuit() const
Return Circuit number.
void SetCovariances(const TMatrixD &cov)
void SetLoCircuit(Int_t loCir)
Set Circuit number.
static TString fgTrackStoreName
class name of the track store to use
void SetHitsPatternInTrigCh(UShort_t hitsPatternInTrigCh)
void SetChi2MatchTrigger(Double_t chi2MatchTrigger)
set the chi2 of trigger/track matching
virtual TObject * FindObject(const char *name) const
Find an object by name.
void SetInverseBendingMomentumUncorrected(Double_t InverseBendingMomentum)
UShort_t GetTriggerX1Pattern() const
class TMatrixT< Double_t > TMatrixD
Helper class making Root persistent TExMap.
Bool_t TriggerFiredWithoutChamber(Int_t ich) const
virtual Bool_t Add(TObject *object)
Add an object, if it is of the right class.
AliMpExMapIterator * CreateIterator() const
AliMUONRecoParam * LoadRecoParam()
static Double_t MaxChi2()
return the maximum chi2 above which the track can be considered as abnormal (due to extrapolation fai...
Bool_t IsConnected() const
return the flag which is kTRUE if that track shares cluster(s) with another
static void SetParamAtDCA(const AliMUONTrackParam &trackParam, AliESDMuonTrack &esdTrack)
TObjArray * GetTrackParamAtCluster() const
UShort_t GetHitsPatternInTrigCh() const
set word telling which trigger chambers where hit by track
virtual Int_t GetMCLabel() const =0
Return the corresponding MC track number.
const UInt_t * GetPadsId() const
Return the array of pads'Id.
void SetGlobalChi2(Double_t chi2)
set the minimum value of the function minimized by the fit
void SetXYZ(Double_t x, Double_t y, Double_t z)
Set coordinates (cm)
virtual void Clear(Option_t *="")
Double_t GetNonBendingSlope() const
return non bending slope (cm ** -1)
Int_t GetManuChannel() const
Return the channel within ManuId(), part of the uniqueID.