Class AliMUONCDB:
[u/mrichter/AliRoot.git] / MUON / AliMUONCheck.cxx
index b8f481f..a398fa0 100644 (file)
 
 #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"
@@ -51,7 +49,7 @@
 #include "AliESDEvent.h"
 #include "AliESDMuonTrack.h"
 #include "AliESDVertex.h"
-#include "AliMagFMaps.h"
+#include "AliMagF.h"
 #include "AliLog.h"
 
 #include <TSystem.h>
@@ -70,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  
 }
 
 //_____________________________________________________________________________
@@ -85,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)
 {
@@ -173,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 ;
@@ -266,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();
@@ -333,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);
@@ -516,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");
@@ -661,7 +662,7 @@ AliMUONCheck::CheckTrackRef()
     
   }//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);
@@ -716,9 +717,6 @@ AliMUONCheck::CheckOccupancy(Bool_t perDetEle) const
   
   AliMUONVDigitStore* digitStore = di.DigitStore(fFirstEvent);
   
-  if ( ! AliMpCDB::LoadMpSegmentation()  ) 
-    AliFatal("Could not access mapping from OCDB !");
-  
   // Compute values
   for (Int_t ichamber=0; ichamber<nchambers; ++ichamber) 
   {
@@ -761,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;
@@ -819,52 +817,6 @@ AliMUONCheck::CheckOccupancy(Bool_t perDetEle) const
 }
 
 //_____________________________________________________________________________
-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();
-}
-
-//_____________________________________________________________________________
 void AliMUONCheck::SetEventsToCheck(Int_t firstEvent, Int_t lastEvent)
 {
   /// Set first and last event number to check