Removing output of hit pointers in AliMUONTrack class. New switch in ALiMUONv1 for...
authormartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Dec 2003 12:47:34 +0000 (12:47 +0000)
committermartinez <martinez@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 12 Dec 2003 12:47:34 +0000 (12:47 +0000)
MUON/AliMUONData.cxx
MUON/AliMUONTrack.h
MUON/AliMUONv1.cxx
MUON/AliMUONv1.h
MUON/MUONTracker.C
MUON/README

index 969eade6f1637fa1c5986ee9a6b0d7ed022fd4b1..77c59fd86f767225b8bddd9ae1851c4376d43b0f 100644 (file)
@@ -17,7 +17,7 @@
 
 //Root includes
 #include "TNamed.h"
-//AliRoot includes
+//AliRoot include
 #include "AliLoader.h" 
 #include "AliMUONConstants.h"
 #include "AliMUONData.h"
@@ -79,7 +79,7 @@ AliMUONData::AliMUONData(AliLoader * loader, const char* name, const char* title
 //   fNglobaltrigger =0;
 //   fLocalTrigger  = new TClonesArray("AliMUONLocalTrigger",234);   
 //   fNlocaltrigger = 0;
-//   fRecTracks     = new TClonesArray("AliMUONTrack", 10);
+//   fRecTracks     = new TClonesArray("AliMUONTrack", 100);
 //   fNrectracks    = 0; // really needed or GetEntriesFast sufficient ????
 
 
@@ -287,7 +287,6 @@ void AliMUONData::Fill(Option_t* option)
   // filling tracks
   if ( TreeT() && cRT ) {
     sprintf(branchname,"%sTrack",GetName());  
-    branch = TreeT()->GetBranch(branchname);
     TreeT()->Fill();
   }
 }
@@ -422,7 +421,7 @@ void AliMUONData::MakeBranch(Option_t* option)
   }
   
   if (TreeT() && cRT ) {
-    if (fRecTracks == 0x0)  fRecTracks = new TClonesArray("AliMUONTrack",10);
+    if (fRecTracks == 0x0)  fRecTracks = new TClonesArray("AliMUONTrack",100);
     fNrectracks = 0;
     sprintf(branchname,"%sTrack",GetName());  
     branch = TreeT()->GetBranch(branchname);
index 743d54aa85ad952118ccd3b8ef8c5b6d282534ca..01eb117689fc8c73bedd8bb7fe2d20b457ccd4e2 100644 (file)
@@ -64,7 +64,7 @@ class AliMUONTrack : public TObject {
   static TVirtualFitter* fgFitter; //!                  Pointer to track fitter
   AliMUONEventReconstructor* fEventReconstructor; //!   Pointer to EventReconstructor
   AliMUONTrackParam fTrackParamAtVertex; // Track parameters at vertex
-  TObjArray *fTrackHitsPtr; // Pointer to array of pointers to TrackHit's
+  TObjArray *fTrackHitsPtr; // Pointer to array of pointers to TrackHit's
   Int_t fNTrackHits; // Number of TrackHit's
   Int_t fFitMCS; // 0(1) for fit without(with) multiple Coulomb scattering
   Int_t fFitNParam; // 3(5) for fit with 3(5) parameters
index ed0c538f68cbcd9930a3d3db172de398e77cc8e6..02850935c7418e80937345c37d34c62bc5121a68 100644 (file)
@@ -46,6 +46,7 @@ AliMUONv1::AliMUONv1() : AliMUON()
     fChambers   = 0;
     fStations   = 0;
     fStepManagerVersionOld  = kFALSE;
+    fAngleEffect = kTRUE;
     fStepMaxInActiveGas     = 0.6;
     fStepSum    =  0x0;
     fDestepSum  =  0x0;
@@ -66,7 +67,7 @@ AliMUONv1::AliMUONv1(const char *name, const char *title)
     factory.Build(this, title);
 
     fStepManagerVersionOld = kFALSE;
-
+    fAngleEffect = kTRUE;
     fStepMaxInActiveGas = 0.6;
 
     fStepSum   = new Float_t [AliMUONConstants::NCh()];
@@ -1730,6 +1731,8 @@ void AliMUONv1::StepManager()
     Float_t yAngleEffect=0.;
     Float_t thetawires      =  TMath::Abs( TMath::ASin( TMath::Sin(TMath::Pi()-theta) * TMath::Sin(phi) ) );// We use Pi-theta because z is negative
 
+
+    if (fAngleEffect){
     if ( (BetaxGamma >3.2)   &&  (thetawires*kRaddeg<=15.) ) {
       BetaxGamma=TMath::Log(BetaxGamma);
       eLossParticleELossMip = fElossRatio->Eval(BetaxGamma);
@@ -1741,7 +1744,7 @@ void AliMUONv1::StepManager()
        sigmaEffectThetadegrees/=(1.09833e+00+1.70000e-02*(thetawires*kRaddeg)); // The gap is different (4mm)
       yAngleEffect=1.e-04*gRandom->Gaus(0,sigmaEffectThetadegrees); // Error due to the angle effect in cm
     }
-    
+    }
     
     // One hit per chamber
     GetMUONData()->AddHit(fIshunt, gAlice->GetMCApp()->GetCurrentTrackNumber(), iChamber, ipart, 
index bbbe8d71e85d99aa3adb87bdf8d6586418763ac6..2e2c7649000bab1bcc8cfa4b36dbcdd81e2bbb8d 100644 (file)
@@ -29,11 +29,14 @@ public:
    void StepManagerOld();
    void SetStepManagerVersionOld(Bool_t Opt) 
      { fStepManagerVersionOld = Opt; }
+   void SetAngleEffect(Bool_t Opt) 
+     { fAngleEffect = Opt; }
    void SetStepMaxInActiveGas(Float_t StepMax)
      {fStepMaxInActiveGas = StepMax; }
 protected:
    Int_t*  fStations;              //! allow to externally set which station to create
    Bool_t  fStepManagerVersionOld; // Version of StepManager, Default is false
+   Bool_t  fAngleEffect; // Angle Effect along wires, Default is true
    Float_t fStepMaxInActiveGas;    // Step max in active gas default 0.6cm
    virtual Int_t  GetChamberId(Int_t volId) const;
 
index 17767d5dccebb7b1911a8ecfa2dfcc4773896897..534e89e9962f5131d626f602b87bff0aa33357de 100644 (file)
@@ -53,7 +53,7 @@ void MUONTracker (Text_t *FileName = "galice.root", Int_t FirstEvent = 0, Int_t
   // Loading MUON subsystem
   AliMUON * MUON = (AliMUON *) gAlice->GetDetector("MUON");
   AliLoader * MUONLoader = RunLoader->GetLoader("MUONLoader");
-  MUONLoader->LoadHits("READ");
+  //  MUONLoader->LoadHits("READ");
   MUONLoader->LoadRecPoints("READ");
   AliMUONData * muondata = MUON->GetMUONData();
   muondata->SetLoader(MUONLoader);
@@ -93,11 +93,11 @@ void MUONTracker (Text_t *FileName = "galice.root", Int_t FirstEvent = 0, Int_t
     for(Int_t i=0; i<Reco->GetNRecTracks(); i++) {
       AliMUONTrack * track = (AliMUONTrack*) Reco->GetRecTracksPtr()->At(i);
       muondata->AddRecTrack(*track);
-      //printf(">>> TEST TEST Number of hits in the track %d is %d \n",i,track->GetNTrackHits());
+      //printf(">>> TEST TEST event %d Number of hits in the track %d is %d \n",event,i,track->GetNTrackHits());
     }
-
+    
     muondata->Fill("RT");
-    MUONLoader->WriteTracks("OVERWRITE");
+    MUONLoader->WriteTracks("OVERWRITE");  
     muondata->ResetRecTracks();
     //MUONLoader->UnloadHits();
     MUONLoader->UnloadRecPoints();
index bcc784e3c08603b16fde043b34c56505cfff52d1..03e7a65be0a9bd69a90b198f2d1c94f30ee69b91 100644 (file)
@@ -89,6 +89,10 @@ gSystem->Load("$ALICE_ROOT/MUON/MUONTracker_C.so")
 Output in MUON.Tracks.root using the new IO 
 as a TClonesArray of AliMUONTrack
 
+Note1.In the actual version (dec-03) the following data 
+members  of ALiMUONTrack:  fgFitter, fEventReconstructor, 
+and fTrackHitsPtr are not saved in the MUON.Track.root file
+
 ============================================================
  How to run MUONCheck macro
 ============================================================