]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - MUON/AliMUONCheck.cxx
Class AliMUONCDB:
[u/mrichter/AliRoot.git] / MUON / AliMUONCheck.cxx
index baba9508e99977fefa73b194db1aa062eab59321..a398fa0dc2dfa8339f90b652601789a20d977209 100644 (file)
@@ -15,6 +15,7 @@
 
 // $Id$
 
+//-----------------------------------------------------------------------------
 /// \class AliMUONCheck
 ///
 /// This class check the ESD tree, providing the matching with the trigger
 /// DumpDigit() as a replacement of the function from MUONCheck.C macro.
 ///
 /// \author Frederic Yermia, INFN Torino
+//-----------------------------------------------------------------------------
 
 #include "AliMUONCheck.h"
 #include "AliMUONConstants.h"
-#include "AliMUONTrack.h"
-#include "AliMUONTrackParam.h"
-#include "AliMUONTrackExtrap.h"
 #include "AliMUONMCDataInterface.h"
 #include "AliMUONDataInterface.h"
+#include "AliMpCDB.h"
 #include "AliMpSegmentation.h"
 #include "AliMpVSegmentation.h"
 #include "AliMpDEManager.h"
+#include "AliMpCDB.h"
 #include "AliMUONVDigitStore.h"
 
 #include "AliRunLoader.h"
 #include "AliStack.h"
 #include "AliTrackReference.h"
 #include "AliTracker.h"
-#include "AliESD.h"
+#include "AliESDEvent.h"
 #include "AliESDMuonTrack.h"
-#include "AliMagFMaps.h"
+#include "AliESDVertex.h"
+#include "AliMagF.h"
 #include "AliLog.h"
 
 #include <TSystem.h>
@@ -66,11 +68,11 @@ AliMUONCheck::AliMUONCheck(const char* galiceFile, const char* esdFile,Int_t fir
 fFileName(galiceFile),
 fFileNameSim(),
 fesdFileName(esdFile),
-foutDir(outDir),
+fkOutDir(outDir),
 fFirstEvent(firstEvent),
 fLastEvent(lastEvent)
 {
-  /// ctor
+  /// ctor  
 }
 
 //_____________________________________________________________________________
@@ -81,7 +83,7 @@ AliMUONCheck::AliMUONCheck(const char* galiceFile, const char* galiceFileSim,
 fFileName(galiceFile),
 fFileNameSim(galiceFileSim),
 fesdFileName(esdFile),
-foutDir(outDir),
+fkOutDir(outDir),
 fFirstEvent(firstEvent),
 fLastEvent(lastEvent)
 {
@@ -149,7 +151,7 @@ AliMUONCheck::CheckESD(Bool_t pdc06TriggerResponse)
   Double_t fPxRec1, fPyRec1, fPzRec1, fE1;
   Int_t fZ1;
   
-  AliESD* fESD = new AliESD();
+  AliESDEvent* fESD = new AliESDEvent();
   TTree* tree = (TTree*) esdFile->Get("esdTree");
   if (!tree) 
   {
@@ -169,8 +171,7 @@ AliMUONCheck::CheckESD(Bool_t pdc06TriggerResponse)
   for (ievent = fFirstEvent; ievent < endOfLoop; ++ievent ) 
   {
     nev++;    
-    tree->GetEvent(ievent);
-    if (!fESD) 
+    if (tree->GetEvent(ievent) <= 0) 
     {
       Error("CheckESD", "no ESD object found for event %d", ievent);
       return ;
@@ -262,6 +263,10 @@ AliMUONCheck::CheckESD(Bool_t pdc06TriggerResponse)
     for ( Int_t iTrack1 = 0; iTrack1<nTracks; ++iTrack1 ) 
     { //1st loop
       AliESDMuonTrack* muonTrack = fESD->GetMuonTrack(iTrack1);
+      
+      // skip fake tracks (ghosts)
+      if (!muonTrack->ContainTrackerData()) continue;
+      
       ftracktot++;
       
       thetaX = muonTrack->GetThetaX();
@@ -329,7 +334,7 @@ AliMUONCheck::CheckESD(Bool_t pdc06TriggerResponse)
     
   }//if(pdc06TriggerResponse)
   
-  gSystem->cd(foutDir);
+  gSystem->cd(fkOutDir);
   
   FILE *outtxt=fopen("output.txt","a");
   freopen("output.txt","a",outtxt);
@@ -512,7 +517,7 @@ AliMUONCheck::CheckKine()
   printf("***                       Leaving MuonKine()                 *** \n");
   printf("**************************************************************** \n");
   
-  gSystem->cd(foutDir);
+  gSystem->cd(fkOutDir);
   FILE *outtxt=fopen("output.txt","a");
   freopen("output.txt","a",outtxt);
   fprintf(outtxt,"                                                   \n");
@@ -653,13 +658,11 @@ AliMUONCheck::CheckTrackRef()
         
       }//hits de tTR
       
-      delete trackRefs;
-      
     }//entree de tTR 
     
   }//evt loop
   
-  gSystem->cd(foutDir);
+  gSystem->cd(fkOutDir);
   TCanvas *c6 = new TCanvas("c6","TOF",400,10,600,700);
   c6->Divide(1,2);
   c6->cd(1);
@@ -756,7 +759,7 @@ AliMUONCheck::CheckOccupancy(Bool_t perDetEle) const
         ndigits = digitStore->GetSize(detele,1-cathode);
         
              dEchannelsNonBending[ichamber][idetele] = nchannels;
-        dEoccupancyBending[ichamber][idetele] = ndigits;
+        dEoccupancyNonBending[ichamber][idetele] = ndigits;
              cHchannelsNonBending[ichamber] += nchannels;
              cHoccupancyNonBending[ichamber] += ndigits;
              totalchannelsNonBending += nchannels;
@@ -811,53 +814,6 @@ AliMUONCheck::CheckOccupancy(Bool_t perDetEle) const
        100.*((Float_t) totaloccupancyBending)/((Float_t) totalchannelsBending),
        100.*((Float_t) totaloccupancyNonBending)/((Float_t) totalchannelsNonBending)            );
 
-  delete digitStore;
-}
-
-//_____________________________________________________________________________
-void 
-AliMUONCheck::CheckRecTracks () const
-{
-  /// Reads and dumps rec tracks objects
-  
-  AliWarning("Reimplement me ? or use AliMUONDumper simply ?");
-  
-  //  // waiting for mag field in CDB 
-  //  AliInfoStream() << "Loading field map...\n";
-  //  if (!AliTracker::GetFieldMap()) {
-  //    AliMagFMaps* field = new AliMagFMaps("Maps","Maps", 1, 1., 10., AliMagFMaps::k5kG);
-  //    AliTracker::SetFieldMap(field, kFALSE);
-  //  }
-  //  
-  //  // Loading data
-  //  fLoader->LoadTracks("READ");
-  //  
-  //  Int_t endOfLoop = fLastEvent+1;
-  //  if ( fLastEvent == -1 ) endOfLoop = fRunLoader->GetNumberOfEvents();
-  //
-  //  for (Int_t ievent=fFirstEvent; ievent<endOfLoop; ievent++) {
-  //    fRunLoader->GetEvent(ievent);
-  //    
-  //    fRecData->SetTreeAddress("RT");
-  //    fRecData->GetRecTracks();
-  //    TClonesArray* recTracks = fRecData->RecTracks();
-  //    
-  //    Int_t nrectracks = (Int_t) recTracks->GetEntriesFast(); //
-  //    printf(">>> Event %d, Number of Recconstructed tracks %d \n",ievent, nrectracks);
-  //
-  //    // Set the magnetic field for track extrapolations
-  //    AliMUONTrackExtrap::SetField(AliTracker::GetFieldMap());
-  //
-  //    // Loop over tracks
-  //    for (Int_t iRecTracks = 0; iRecTracks <  nrectracks;  iRecTracks++) {
-  //      AliMUONTrack* recTrack = (AliMUONTrack*) recTracks->At(iRecTracks);
-  //      AliMUONTrackParam* trackParam = (AliMUONTrackParam*) (recTrack->GetTrackParamAtHit())->First();
-  //      AliMUONTrackExtrap::ExtrapToZ(trackParam,0.);
-  //      recTrack->Print("full");
-  //    }
-  //    fRecData->ResetRecTracks();
-  //  }   
-  //  fLoader->UnloadTracks();
 }
 
 //_____________________________________________________________________________