Printf methods for Hits, RecPoint, Track and TrackParam (Gines)
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 30 May 2006 09:08:16 +0000 (09:08 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 30 May 2006 09:08:16 +0000 (09:08 +0000)
MUON/AliMUONDigit.cxx
MUON/AliMUONHit.cxx
MUON/AliMUONHit.h
MUON/AliMUONRawCluster.cxx
MUON/AliMUONRawCluster.h
MUON/AliMUONTrack.cxx
MUON/AliMUONTrack.h
MUON/AliMUONTrackParam.cxx
MUON/AliMUONTrackParam.h
MUON/MUONCheck.C

index 59aa9f2928fb4c5d5b38ce21bb2fa279d72d1ad9..b6e2c53f853fdcd794b1a43d4fc510a9f415b0ca 100644 (file)
@@ -387,7 +387,7 @@ AliMUONDigit::Print(Option_t* opt) const
   // Dump to screen.
   // If opt=="tracks", info on tracks are printed too.
   //
-  cout << "DetEle " << setw(5) << DetElemId()
+  cout << "<AliMUONDigit>: DetEle " << setw(5) << DetElemId()
   << " Cath " << setw(2) << Cathode()
   << " (Ix,Iy)=(" << setw(3) << PadX() << "," << setw(3) << PadY()
   << ") "
index 00892fe9d0e18a5e06607fd9f51c3b80d01e5a02..8ba3819b169ea990e2b1ea9df2c656954baee70d 100644 (file)
 // Energy loss of the particle inside the gas active volume.
 // Incident fTheta and fPhi angle with respect of the wire plane of the chamber.
 //
+#include "Riostream.h"
 
 #include <TMath.h>
+#include <TString.h>
 
+#include "AliLog.h"
 #include "AliMUONHit.h"
 #include "AliMUONGeometryStore.h"
-#include "AliLog.h"
+
 
 ClassImp(AliMUONHit)
  
@@ -245,3 +248,25 @@ Int_t  AliMUONHit::Chamber()  const
     return AliMUONGeometryStore::GetModuleId(fDetElemId)+1;  
 }
 
+void AliMUONHit::Print(Option_t* opt) const
+{
+  //
+  // Printing hit information 
+  // "full" option for printing all the information about the hit
+  //
+  TString sopt(opt);
+  sopt.ToUpper();
+  if ( sopt.Contains("FULL") ) { 
+    cout <<"<AliMUONHit>: Geant track="   << setw(4)  << Track() <<
+      ", DetEle="        << setw(4)  << DetElemId() <<  
+      ", (x,y,z)=(" << setw(7) << setprecision(5) << X() << "," << setw(7) << setprecision(5) << Y() <<  "," << setw(7) << setprecision(5) << Z() << 
+      " )cm, Delta E=" << setw(8) << setprecision(3) << Eloss() << " GeV" << endl;
+  }
+  else {
+    cout << "<AliMUONHit>: DetEle="        << setw(4)  << DetElemId() << 
+      ", (x,y,z)=(" << setw(7) << setprecision(5) << X() << "," << setw(7) << setprecision(5) << Y() <<  "," << setw(7) << setprecision(5) << Z() << 
+      " ) cm" <<endl;
+  }
+    
+}
index b62539a66bfba350301be2a77833c12823503778..446b0833af7fbc92c73ac5180b0602310a16eb62 100644 (file)
@@ -52,6 +52,8 @@ class AliMUONHit : public AliHit {
 
     Int_t   DetElemId()const;
     Int_t   Chamber()  const;
+    virtual void Print(Option_t* opt="") const;
+
     Float_t Particle() const {return fParticle;}    
     Float_t Theta()    const {return fTheta;}
     Float_t Phi()      const {return fPhi;}
@@ -73,6 +75,7 @@ class AliMUONHit : public AliHit {
     Float_t Yref()     const {return fYref;}
     Float_t Zref()     const {return fZref;}
 
+
  private:  
     Bool_t    fIsDetElemId;   ///< False if fDetElemId contains Chamber Id (old code) 
     Int_t     fDetElemId;     ///< Detection element ID
index 967264ca7ee245431039992ec88b2d0f0a672680..ab0d2be5593c9df1b269837a39dc49ee262aeb9f 100644 (file)
 // It contains the properties of the physics cluters found in the tracking chambers
 // RawCluster contains also the information from the both cathode of the chambers.
 
+
+#include "Riostream.h"
+
 #include <TArrayF.h>
+#include <TString.h>
 
 #include "AliMUONRawCluster.h"
 
@@ -169,6 +173,32 @@ Int_t AliMUONRawCluster::PhysicsContribution() const
     return 0;
   }
 }
+
+//____________________________________________________
+void AliMUONRawCluster::Print(Option_t* opt) const
+{
+  //
+  // Printing Raw Cluster (Rec Point) information 
+  // "full" option for printing all the information about the raw cluster
+  //
+  TString sopt(opt);
+  sopt.ToUpper();
+  if ( sopt.Contains("FULL") ) { 
+    cout << "<AliMUONRawCluster>: DetEle="        << setw(4)  << GetDetElemId() << 
+       ", (x,y,z)=(" << setw(8) << setprecision(5) << GetX() << "," << setw(8) << setprecision(5) << GetY() <<  "," << setw(8) << setprecision(5) << GetZ() << 
+      ") cm, Chi2=" << setw(8) << setprecision(3) << GetChi2() << 
+      ", Q=" << setw(4) << GetCharge() <<
+      ", Hit=" << setw(4)  << GetTrack(0) <<
+      ", Track1=" <<  setw(4)  << GetTrack(1) <<
+      ", Track2=" <<  setw(4)  << GetTrack(2) <<endl;
+  }
+  else {
+    cout << "<AliMUONRawCluster>: DetEle="        << setw(4)  << GetDetElemId() <<
+      ", (x,y,z)=(" << setw(8) << setprecision(5) << GetX() << "," << setw(8) << setprecision(5) << GetY() <<  "," << setw(8) << setprecision(5) << GetZ() 
+        << endl;
+  }
+}
 //____________________________________________________
 void AliMUONRawCluster::DumpIndex(void)
 {
index e5ddbb458fcb8403e4f093c669b7d187b7dac194..77e0b36c310069b44355f0bd3aee276c4597ee0c 100644 (file)
@@ -28,6 +28,7 @@ public:
    Bool_t       IsSortable() const {return kTRUE;}
    Int_t        Compare(const TObject *obj) const;
    Int_t        PhysicsContribution() const;
+   virtual void Print(Option_t* opt="") const;
    static Int_t BinarySearch(Float_t r, TArrayF ccord, Int_t from, Int_t upto);
    static void  SortMin(Int_t *idx,Float_t *xdarray, Float_t *xarray, Float_t *yarray, Float_t *qarray,Int_t ntr);
    void         DumpIndex();
@@ -37,17 +38,17 @@ public:
    Int_t        AddY(Int_t i, Float_t Y);
    Int_t        AddZ(Int_t i, Float_t Z);
 
-   Int_t        GetCharge(Int_t i) const;
-   Float_t      GetX(Int_t i) const;
-   Float_t      GetY(Int_t i) const;
-   Float_t      GetZ(Int_t i) const;
-   Int_t        GetTrack(Int_t i) const;
-   Int_t        GetPeakSignal(Int_t i) const;
-   Int_t        GetMultiplicity(Int_t i) const;
+   Int_t        GetCharge(Int_t i=0) const;
+   Float_t      GetX(Int_t i=0) const;
+   Float_t      GetY(Int_t i=0) const;
+   Float_t      GetZ(Int_t i=0) const;
+   Int_t        GetTrack(Int_t i=0) const;
+   Int_t        GetPeakSignal(Int_t i=0) const;
+   Int_t        GetMultiplicity(Int_t i=0) const;
    Int_t        GetClusterType() const;
    Int_t        GetGhost() const;
-   Int_t        GetNcluster(Int_t i) const;
-   Float_t      GetChi2(Int_t i) const;
+   Int_t        GetNcluster(Int_t i=0) const;
+   Float_t      GetChi2(Int_t i=0) const;
    Int_t        GetIndex(Int_t i, Int_t j) const;
    Int_t        GetOffset(Int_t i, Int_t j) const;
    Float_t      GetContrib(Int_t i, Int_t j) const;
index 2bedb3a7046edb920dd492eeca7aebbe266a302d..f096d8ea234367b80c926b6f3971c97afba9688e 100644 (file)
@@ -987,3 +987,29 @@ L100:
     ifail = 1;
 } /* mnvertLocal */
 
+//_____________________________________________-
+void AliMUONTrack::Print(Option_t* opt) const
+{
+//
+  // Printing Track information 
+  // "full" option for printing all the information about the track
+  //
+  TString sopt(opt);
+  sopt.ToUpper();
+  if ( sopt.Contains("FULL") ) { 
+    cout << "<AliMUONTrack> No.Clusters=" << setw(2)   << GetNTrackHits() << 
+      //      ", Bending P="<< setw(8) << setprecision(5)      << 1./GetInverseBendingMomentum() << 
+      //", NonBendSlope=" << setw(8) << setprecision(5)  << GetNonBendingSlope()*180./TMath::Pi() <<
+      //", BendSlope=" << setw(8) << setprecision(5)     << GetBendingSlope()*180./TMath::Pi() <<
+      ", Match2Trig=" << setw(1) << GetMatchTrigger()  << 
+      ", Chi2-tracking-trigger=" << setw(8) << setprecision(5) <<  GetChi2MatchTrigger() << endl ;
+    GetTrackParamAtHit()->First()->Print("full");
+  }
+  else {
+    cout << "<AliMUONTrack>";
+    GetTrackParamAtHit()->First()->Print("");
+
+  }
+    
+}
index 4177be119ba80472aeb5b467e520d830575d9f5c..50d09664b8c85bd79538fee3e7ecacb9c73a8507 100644 (file)
@@ -41,45 +41,49 @@ class AliMUONTrack : public TObject
   void Remove(void);
 
   AliMUONTrackReconstructor* GetTrackReconstructor(void) const {return fTrackReconstructor;}
-  AliMUONTrackParam* GetTrackParamAtVertex(void) {return &fTrackParamAtVertex;}
-  void SetTrackParamAtVertex(void); // Set track parameters at vertex from last stations 4 & 5
-  void SetTrackParamAtVertex(AliMUONTrackParam* TrackParam) {fTrackParamAtVertex = *TrackParam;}
-  TClonesArray *GetTrackParamAtHit(void) const {return fTrackParamAtHit;}
-  TClonesArray *GetHitForRecAtHit(void) const {return fHitForRecAtHit;}
-  void ResetTrackParamAtHit(void) { fTrackParamAtHit->Delete(); }
-  void ResetHitForRecAtHit(void) { fHitForRecAtHit->Delete(); }
-  void AddTrackParamAtHit(const AliMUONTrackParam *trackParam); 
-  void AddHitForRecAtHit(const AliMUONHitForRec *hitForRec); 
-
-  TObjArray* GetTrackHitsPtr(void) const {return fTrackHitsPtr;}
-  Int_t GetNTrackHits(void) const {return fNTrackHits;}
-  void SetNTrackHits(Int_t nTrackHits) {fNTrackHits = nTrackHits;}
-  Int_t GetFitMCS(void) const {return fFitMCS;}
-  Int_t GetFitNParam(void) const {return fFitNParam;}
-  Int_t GetFitStart(void) const {return fFitStart;}
-  Double_t GetFitFMin(void) const {return fFitFMin;}
-  Bool_t GetMatchTrigger(void) const {return fMatchTrigger;}
-  Double_t GetChi2MatchTrigger(void) const {return fChi2MatchTrigger;}
-  void SetFitMCS(Int_t FitMCS);
-  void SetFitNParam(Int_t FitNParam);
-  void SetFitStart(Int_t FitStart);
-  void SetFitFMin(Double_t chi2) { fFitFMin = chi2; } // set Chi2
-
-  AliMUONTrackParam* GetTrackParamAtFirstHit(void) const;
-
-  void RecursiveDump(void) const; // Recursive dump (with track hits)
-  void Fit(); // Fit
-  void AddSegment(AliMUONSegment* Segment); // Add Segment
-  void AddHitForRec(AliMUONHitForRec* HitForRec); // Add HitForRec
-  void SetTrackParamAtHit(Int_t indexHit, AliMUONTrackParam *TrackParam) const;
-  Int_t HitsInCommon(AliMUONTrack* Track) const;
-  void MatchTriggerTrack(TClonesArray* TriggerTrackArray);
-  Bool_t* CompatibleTrack(AliMUONTrack* Track, Double_t Sigma2Cut) const; // return array of compatible chamber
+  AliMUONTrackParam*         GetTrackParamAtVertex(void) {return &fTrackParamAtVertex;}
+  void                       SetTrackParamAtVertex(void); // Set track parameters at vertex from last stations 4 & 5
+  void                       SetTrackParamAtVertex(AliMUONTrackParam* TrackParam) {fTrackParamAtVertex = *TrackParam;}
+  TClonesArray*              GetTrackParamAtHit(void) const {return fTrackParamAtHit;}
+  TClonesArray*              GetHitForRecAtHit(void) const {return fHitForRecAtHit;}
+  void                       ResetTrackParamAtHit(void) { fTrackParamAtHit->Delete(); }
+  void                       ResetHitForRecAtHit(void) { fHitForRecAtHit->Delete(); }
+  void                       AddTrackParamAtHit(const AliMUONTrackParam *trackParam); 
+  void                       AddHitForRecAtHit(const AliMUONHitForRec *hitForRec); 
+
+  TObjArray*                 GetTrackHitsPtr(void) const {return fTrackHitsPtr;}
+  Int_t                      GetNTrackHits(void) const {return fNTrackHits;}
+  void                       SetNTrackHits(Int_t nTrackHits) {fNTrackHits = nTrackHits;}
+  Int_t                      GetFitMCS(void) const {return fFitMCS;}
+  Int_t                      GetFitNParam(void) const {return fFitNParam;}
+  Int_t                      GetFitStart(void) const {return fFitStart;}
+  Double_t                   GetFitFMin(void) const {return fFitFMin;}
+  Bool_t                     GetMatchTrigger(void) const {return fMatchTrigger;}
+  Double_t                   GetChi2MatchTrigger(void) const {return fChi2MatchTrigger;}
+  void                       SetFitMCS(Int_t FitMCS);
+  void                       SetFitNParam(Int_t FitNParam);
+  void                       SetFitStart(Int_t FitStart);
+  void                       SetFitFMin(Double_t chi2) { fFitFMin = chi2; } // set Chi2
+
+  AliMUONTrackParam*         GetTrackParamAtFirstHit(void) const;
+
+  void                       RecursiveDump(void) const; // Recursive dump (with track hits)
+  void                       Fit(); // Fit
+  void                       AddSegment(AliMUONSegment* Segment); // Add Segment
+  void                       AddHitForRec(AliMUONHitForRec* HitForRec); // Add HitForRec
+  void                       SetTrackParamAtHit(Int_t indexHit, AliMUONTrackParam *TrackParam) const;
+  Int_t                      HitsInCommon(AliMUONTrack* Track) const;
+  void                       MatchTriggerTrack(TClonesArray* TriggerTrackArray);
+  Bool_t*                    CompatibleTrack(AliMUONTrack* Track, Double_t Sigma2Cut) const; // return array of compatible chamber
   
-  Int_t GetTrackID() const {return fTrackID;}
-  void SetTrackID(Int_t trackID) {fTrackID = trackID;}
+  Int_t                      GetTrackID() const {return fTrackID;}
+  void                       SetTrackID(Int_t trackID) {fTrackID = trackID;}
+
+  virtual void               Print(Option_t* opt="") const;
+
+  static TVirtualFitter*     Fitter(void) {return fgFitter;}
+
 
-  static TVirtualFitter* Fitter(void) {return fgFitter;}
 
  protected:
  private:
index ec1053807d189b6842d50e87fa472dffd9afdc9c..01beb2eb5aeb4ab252f73c457779fe65279b4e6b 100644 (file)
@@ -497,7 +497,7 @@ void AliMUONTrackParam::FieldCorrection(Double_t Z)
  
 }
   //__________________________________________________________________________
-Double_t AliMUONTrackParam::Px()
+Double_t AliMUONTrackParam::Px() const
 {
   // return px from track paramaters
   Double_t pYZ, pZ, pX;
@@ -509,7 +509,7 @@ Double_t AliMUONTrackParam::Px()
   return pX;
 }
   //__________________________________________________________________________
-Double_t AliMUONTrackParam::Py()
+Double_t AliMUONTrackParam::Py() const
 {
   // return px from track paramaters
   Double_t pYZ, pZ, pY;
@@ -521,7 +521,7 @@ Double_t AliMUONTrackParam::Py()
   return pY;
 }
   //__________________________________________________________________________
-Double_t AliMUONTrackParam::Pz()
+Double_t AliMUONTrackParam::Pz() const
 {
   // return px from track paramaters
   Double_t pYZ, pZ;
@@ -532,7 +532,7 @@ Double_t AliMUONTrackParam::Pz()
   return pZ;
 }
   //__________________________________________________________________________
-Double_t AliMUONTrackParam::P()
+Double_t AliMUONTrackParam::P() const
 {
   // return p from track paramaters
   Double_t  pYZ, pZ, p;
@@ -1002,3 +1002,29 @@ void AliMUONTrackParam::ExtrapOneStepRungekutta(Double_t charge, Double_t step,
 
     return;
   }
+//_____________________________________________-
+void AliMUONTrackParam::Print(Option_t* opt) const
+{
+//
+  // Printing TrackParam information 
+  // "full" option for printing all the information about the TrackParam
+  //
+  TString sopt(opt);
+  sopt.ToUpper();
+  if ( sopt.Contains("FULL") ) { 
+    cout << "<AliMUONTrackParam> Bending P=" << setw(5) << setprecision(3)  << 1./GetInverseBendingMomentum() << 
+      ", NonBendSlope=" << setw(5) << setprecision(3)  << GetNonBendingSlope()*180./TMath::Pi() <<
+      ", BendSlope=" << setw(5) << setprecision(3)     << GetBendingSlope()*180./TMath::Pi()  << 
+      ", (x,y,z)_IP=(" <<  setw(5) << setprecision(3) << GetNonBendingCoor() <<
+      "," <<  setw(5) << setprecision(3) << GetBendingCoor() <<
+      "," <<  setw(5) << setprecision(3) << GetZ() <<
+      ") cm, (px,py,pz)=(" << setw(5) << setprecision(3) << Px() <<
+      "," << setw(5) << setprecision(3) << Py() <<
+      "," << setw(5) << setprecision(3) << Pz() << ") GeV/c" << endl;
+  }
+  else {
+    cout << "<AliMUONTrackParam>"  << endl;
+  }
+    
+}
index 3275db1b50f6becd87bc667673857f55b8a46b18..878c49ceec1977554fba43d2bea12d38178ccbd1 100644 (file)
@@ -26,21 +26,21 @@ class AliMUONTrackParam : public TObject
   AliMUONTrackParam& operator=(const  AliMUONTrackParam& rhs);// (should be added per default !)
   // Get and Set methods for data
   Double_t GetInverseBendingMomentum(void) const {return fInverseBendingMomentum;}
-  void SetInverseBendingMomentum(Double_t InverseBendingMomentum) {fInverseBendingMomentum = InverseBendingMomentum;}
+  void     SetInverseBendingMomentum(Double_t InverseBendingMomentum) {fInverseBendingMomentum = InverseBendingMomentum;}
   Double_t GetBendingSlope(void) const {return fBendingSlope;}
-  void SetBendingSlope(Double_t BendingSlope) {fBendingSlope = BendingSlope;}
+  void     SetBendingSlope(Double_t BendingSlope) {fBendingSlope = BendingSlope;}
   Double_t GetNonBendingSlope(void) const {return fNonBendingSlope;}
-  void SetNonBendingSlope(Double_t NonBendingSlope) {fNonBendingSlope = NonBendingSlope;}
+  void     SetNonBendingSlope(Double_t NonBendingSlope) {fNonBendingSlope = NonBendingSlope;}
   Double_t GetZ(void) const {return fZ;}
-  void SetZ(Double_t Z) {fZ = Z;}
+  void     SetZ(Double_t Z) {fZ = Z;}
   Double_t GetBendingCoor(void) const {return fBendingCoor;}
-  void SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
+  void     SetBendingCoor(Double_t BendingCoor) {fBendingCoor = BendingCoor;}
   Double_t GetNonBendingCoor(void) const {return fNonBendingCoor;}
-  void SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
-  Double_t Px();  // return px
-  Double_t Py();  // return py
-  Double_t Pz();  // return pz
-  Double_t P()  // return total momentum
+  void     SetNonBendingCoor(Double_t NonBendingCoor) {fNonBendingCoor = NonBendingCoor;}
+  Double_t Px() const;  // return px
+  Double_t Py() const;  // return py
+  Double_t Pz() const;  // return pz
+  Double_t P()  const;  // return total momentum
 
   void ExtrapToZ(Double_t Z);
   void ExtrapToStation(Int_t Station, AliMUONTrackParam *TrackParam);
@@ -57,6 +57,10 @@ class AliMUONTrackParam : public TObject
 
   void ExtrapOneStepRungekutta(Double_t charge, Double_t step, 
                               Double_t* vect, Double_t* vout) const;
+  
+  
+  virtual void               Print(Option_t* opt="") const;
+
  protected:
  private:
   Double_t fInverseBendingMomentum; ///< Inverse bending momentum (GeV/c ** -1) times the charge (assumed forward motion)
index d8d7093bd25e8d96ab187b6a047ebe37c7c1d794..59f673b8ad1fe3132476bcad1139f2c5266efa5e 100644 (file)
@@ -122,15 +122,7 @@ void MUONhits(Int_t event2Check=0, char * filename="galice.root")
       AliMUONHit* mHit;
       for(ihit=0; ihit<nhits; ihit++) {
        mHit = static_cast<AliMUONHit*>(muondata.Hits()->At(ihit));
-       Int_t detele   = mHit-> DetElemId(); // Detection element if defined
-       Int_t hittrack = mHit->Track();
-       Float_t x      = mHit->X();
-       Float_t y      = mHit->Y();
-       Float_t z      = mHit->Z();
-       Float_t elos   = mHit->Eloss();
-       Float_t momentum = mHit->Momentum();
-       printf(">>> >>>  Hit%4d DetEle %4d Track%4d (X,Y,Z)=(%7.2f,%7.2f,%8.2f)cm Elost=%7.2gGeV  P=%6.1fGeV/c\n",
-              ihit, detele, hittrack,x,y,z,elos,momentum);
+       mHit->Print("full");
       }
       muondata.ResetHits();
     } // end track loop
@@ -140,7 +132,6 @@ void MUONhits(Int_t event2Check=0, char * filename="galice.root")
 }
 
 
-
 void MUONdigits(Int_t event2Check=0, char * filename="galice.root")
 {
   // Creating Run Loader and openning file containing Hits
@@ -425,24 +416,7 @@ void MUONrecpoints(Int_t event2Check=0, char * filename="galice.root") {
       // printf(">>> Chamber %2d, Number of recpoints = %6d \n",ichamber+1, nrecpoints);
       for(irecpoint=0; irecpoint<nrecpoints; irecpoint++) {
        mRecPoint = static_cast<AliMUONRawCluster*>(muondata.RawClusters(ichamber)->At(irecpoint));
-       Int_t Track0 = mRecPoint->GetTrack(0);
-       Int_t Track1 = mRecPoint->GetTrack(1); 
-       Int_t Track2 = mRecPoint->GetTrack(2);
-       Int_t Q0 = mRecPoint->GetCharge(0);
-       Int_t Q1 = mRecPoint->GetCharge(1);
-       Float_t x0 = mRecPoint->GetX(0);
-       Float_t x1 = mRecPoint->GetX(1);
-       Float_t y0 = mRecPoint->GetY(0);
-       Float_t y1 = mRecPoint->GetY(1);
-       Float_t z0 = mRecPoint->GetZ(0);
-       Float_t z1 = mRecPoint->GetZ(1);
-       Float_t chi2_0 =  mRecPoint->GetChi2(0);
-       //Float_t chi2_1 =  mRecPoint->GetChi2(1);
-       Int_t de = mRecPoint->GetDetElemId();
-       printf(">>> >>> RecPoint %4d  DetEle %4d (X,Y,Z)=(%7.2f,%7.2f,%8.2f)cm  Q0=%4d  Q1=%4d Hit=%4d Track1=%4d Track2=%4d Chi2=%6.3f \n",
-              irecpoint,de,x0,y0,z0,Q0,Q1,Track0, Track1, Track2, chi2_0);
-       if( (x0!=x1) || (y0!=y1) || (z0!=z1) )
-         printf(">>> >>> Warning (X0,Y0,Z0)=(%7.2f, %7.2f, %8.2f)cm != (X1,Y1,Z1)=(%7.2f,%7.2f,%8.2f)cm \n",x0,y0,z0,x1,y1,z1); 
+       mRecPoint->Print("full");
       } // end recpoint loop
     } // end chamber loop
     muondata.ResetRawClusters();
@@ -681,45 +655,17 @@ void MUONrectracks (Int_t event2Check=0, char * filename="galice.root"){
 
     printf(">>> Event %d, Number of Recconstructed tracks %d \n",ievent, nrectracks);
     // loop over tracks
-    Int_t nTrackHits;// nPrimary;
-    Double_t fitFmin;
-    Double_t bendingSlope, nonBendingSlope, inverseBendingMomentum;
-    Double_t xRec, yRec, zRec, chi2MatchTrigger;
-    Bool_t matchTrigger;
-    Double_t Pz,Px,Py,Pt,Ptot,Eta ;
-
-  // setting pointer for tracks, triggertracks & trackparam at vertex
+
+    // setting pointer for tracks, triggertracks & trackparam at vertex
     AliMUONTrack* recTrack = 0;
     AliMUONTrackParam* trackParam = 0;
 
     for (Int_t iRecTracks = 0; iRecTracks <  nrectracks;  iRecTracks++) {
-    // reading info from tracks
-      recTrack = (AliMUONTrack*) RecTracks->At(iRecTracks);
-      trackParam = (AliMUONTrackParam*) (recTrack->GetTrackParamAtHit())->First();
-      trackParam->ExtrapToZ(0.0);
-      bendingSlope            = trackParam->GetBendingSlope();
-      nonBendingSlope         = trackParam->GetNonBendingSlope();
-      inverseBendingMomentum = trackParam->GetInverseBendingMomentum();
-      xRec  = trackParam->GetNonBendingCoor();
-      yRec  = trackParam->GetBendingCoor();
-      zRec  = trackParam->GetZ();
-
-      nTrackHits       = recTrack->GetNTrackHits();
-      fitFmin          = recTrack->GetFitFMin();
-      matchTrigger     = recTrack->GetMatchTrigger();
-      chi2MatchTrigger = recTrack->GetChi2MatchTrigger();
-      
-      Px = trackParam->Px();
-      Py = trackParam->Py(); 
-      Pz = trackParam->Pz(); 
-      Pt = TMath::Sqrt(Px*Px + Py*Py );
-      Ptot = TMath::Sqrt(Px*Px + Py*Py + Pz*Pz);
-      Eta =  (Pt!=0) ? 0.5*log( (Ptot+Pz)/(Ptot-Pz) ) : 999999999.999 ;
-       
-      printf(">>> RecTrack %4d  NofClusters=%2d BendMomentum=%7.2f NonBendSlope=%5.2f  BendSlope=%5.2f Match2Trig=%1d (vertex@z=0)=(%5.2f,%5.2f,%5.1f)cm \n", iRecTracks, nTrackHits, 1/inverseBendingMomentum , nonBendingSlope*180./TMath::Pi(), bendingSlope*180./TMath::Pi(),  matchTrigger, xRec,yRec,zRec);
-      printf("    Px=%f  Py =%f  Pz =%f   Pt=%f  Ptot=%f   PseudoRap=%f  \n",Px,Py,Pz,Pt,Ptot,Eta);
+   //  // reading info from tracks
+       recTrack = (AliMUONTrack*) RecTracks->At(iRecTracks);
+       trackParam = (AliMUONTrackParam*) (recTrack->GetTrackParamAtHit())->First();
+       trackParam->ExtrapToZ(0.0);
+      recTrack->Print("full");
     } // end loop tracks
 
     muondata.ResetRecTracks();
@@ -728,7 +674,3 @@ void MUONrectracks (Int_t event2Check=0, char * filename="galice.root"){
   MUONLoader->UnloadTracks();
 }
 
-
-
-
-