X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITStrackerMI.h;h=db9e904f4b36ef9b949235f00abd569a7be0e76a;hb=972cf6f28e64115547844fe13a15d9bc3df0808f;hp=c41eaff4800fddcc9efc48a3b53dfe2beac910e1;hpb=2755f080d19a204a0ac4e87b432a5a8c4b71351a;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITStrackerMI.h b/ITS/AliITStrackerMI.h index c41eaff4800..db9e904f4b3 100644 --- a/ITS/AliITStrackerMI.h +++ b/ITS/AliITStrackerMI.h @@ -18,6 +18,8 @@ class AliESDEvent; #include #include "AliITSRecPoint.h" #include "AliITStrackMI.h" +#include "AliITSPlaneEff.h" +#include "AliPlaneEff.h" #include "AliTracker.h" //------------------------------------------------------------------------- @@ -39,9 +41,10 @@ public: Int_t Clusters2Tracks(AliESDEvent *event); Int_t PropagateBack(AliESDEvent *event); Int_t RefitInward(AliESDEvent *event); - Bool_t RefitAt(Double_t x, AliITStrackMI *seed, - const AliITStrackMI *t, Bool_t extra=kFALSE); - Bool_t RefitAt(Double_t x, AliITStrackMI *seed, const Int_t *clindex); + Bool_t RefitAt(Double_t x, AliITStrackMI *track, + const AliITStrackMI *clusters, Bool_t extra=kFALSE, Bool_t planeeff=kFALSE); + Bool_t RefitAt(Double_t x, AliITStrackMI *track, + const Int_t *clusters, Bool_t extra=kFALSE, Bool_t planeeff=kFALSE); void SetupFirstPass(Int_t *flags, Double_t *cuts=0); void SetupSecondPass(Int_t *flags, Double_t *cuts=0); @@ -52,6 +55,7 @@ public: void GetDCASigma(AliITStrackMI* track, Float_t & sigmarfi, Float_t &sigmaz); Double_t GetPredictedChi2MI(AliITStrackMI* track, const AliITSRecPoint *cluster,Int_t layer); Int_t UpdateMI(AliITStrackMI* track, const AliITSRecPoint* cl,Double_t chi2,Int_t layer) const; + AliPlaneEff *GetPlaneEff() {return (AliPlaneEff*)fPlaneEff;} // return the pointer to AliPlaneEff class AliITSdetector { public: AliITSdetector():fR(0),fPhi(0),fSinPhi(0),fCosPhi(0),fYmin(0),fYmax(0),fZmin(0),fZmax(0){} @@ -87,8 +91,8 @@ public: void SortClusters(); void ResetClusters(); void ResetWeights(); - void SelectClusters(Double_t zmi,Double_t zma,Double_t ymi,Double_t yma); - const AliITSRecPoint *GetNextCluster(Int_t &ci); + void SelectClusters(Double_t zmin,Double_t zmax,Double_t ymin,Double_t ymax); + const AliITSRecPoint *GetNextCluster(Int_t &ci,Bool_t test=kFALSE); void ResetRoad(); Double_t GetRoad() const {return fRoad;} Double_t GetR() const {return fR;} @@ -194,7 +198,7 @@ protected: Double_t NormalizedChi2(AliITStrackMI * track, Int_t layer); Double_t GetInterpolatedChi2(AliITStrackMI * forwardtrack, AliITStrackMI * backtrack); Double_t GetMatchingChi2(AliITStrackMI * track1, AliITStrackMI * track2); - Double_t GetDeadZoneProbability(Double_t zpos, Double_t zerr); + Double_t GetSPDDeadZoneProbability(Double_t zpos, Double_t zerr); Float_t *GetWeight(Int_t index); void AddTrackHypothesys(AliITStrackMI * track, Int_t esdindex); @@ -219,7 +223,15 @@ protected: Int_t CorrectForShieldMaterial(AliITStrackMI *t, TString shield, TString direction="inward"); Int_t CorrectForLayerMaterial(AliITStrackMI *t, Int_t layerindex, Double_t oldGlobXYZ[3], TString direction="inward"); void UpdateESDtrack(AliITStrackMI* track, ULong_t flags) const; - Int_t SkipLayer(AliITStrackMI *track,Int_t ilayer,Int_t idet) const; + Int_t CheckSkipLayer(AliITStrackMI *track,Int_t ilayer,Int_t idet) const; + Int_t CheckDeadZone(/*AliITStrackMI *track,*/Int_t ilayer,Int_t idet,Double_t zmin,Double_t zmax/*,Double_t ymin,Double_t ymax*/) const; + Bool_t LocalModuleCoord(Int_t ilayer,Int_t idet,AliITStrackMI *track, + Float_t &xloc,Float_t &zloc) const; +// method to be used for Plane Efficiency evaluation + Bool_t IsOKForPlaneEff(AliITStrackMI* track, Int_t ilayer) const; // Check if a track is usable + // for Plane Eff evaluation + void UseTrackForPlaneEff(AliITStrackMI* track, Int_t ilayer); // Use this track for Plane Eff +// Int_t fI; // index of the current layer static AliITSlayer fgLayers[AliITSgeomTGeo::kNLayers];// ITS layers AliITStrackMI fTracks[AliITSgeomTGeo::kNLayers]; // track estimations at the ITS layers @@ -254,6 +266,7 @@ protected: Float_t *fxOverX0LayerTrks; //! material budget Float_t *fxTimesRhoLayerTrks; //! material budget TTreeSRedirector *fDebugStreamer; //!debug streamer + AliITSPlaneEff *fPlaneEff; //! Pointer to the ITS plane efficicency private: AliITStrackerMI(const AliITStrackerMI &tracker); AliITStrackerMI & operator=(const AliITStrackerMI &tracker);