]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EVE/alice-macros/clusters.C
protection for weighted profile 3D
[u/mrichter/AliRoot.git] / EVE / alice-macros / clusters.C
index 17f5ec31fa35aab0fe3ad5a3383859e5fdc7b887..e3c52b5ed8279ea382d5a28418bdcf9e8e13916a 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef __CINT__
 #include <TEveManager.h>
 #include <TEvePointSet.h>
+#include <TGeoManager.h>
 #include <EveBase/AliEveEventManager.h>
 
 #include "AliRunLoader.h"
@@ -10,6 +11,8 @@
 #include "AliESDEvent.h"
 #include "AliESDtrack.h"
 #include "AliESDfriend.h"
+
+#include "AliITSRecoParam.h"
 #endif
 
 void clusters()
@@ -18,16 +21,21 @@ void clusters()
 
   AliRunLoader *rl        = AliEveEventManager::AssertRunLoader();
   AliESDEvent  *esd       = AliEveEventManager::AssertESD();
-  AliESDfriend *esdfriend = AliEveEventManager::AssertESDfriend();
-  AliMagF      *magfield  = AliEveEventManager::AssertMagField();
-
-  AliTracker::SetFieldMap(magfield, kFALSE);
+  AliEveEventManager::AssertESDfriend();
+  AliEveEventManager::AssertMagField();
 
-  const char* detNames[] = { "ITS", "TPC", "TRD", "TOF", "HMPID" };
-  const Int_t detIds[]   = {   0,     1,     2,     3,     5   };
+  const char* detNames[] = { "ITS", "TPC", /*"TRD",*/ "TOF", "HMPID" };
+  const Int_t detIds[]   = {   0,     1,   /*  2,  */   3,     5   };
   const Int_t detN       = sizeof(detNames)/sizeof(char*);
 
+  // Hack - AliReconstruction does wonders with gGeoManager.
+  TGeoManager* xxx = gGeoManager; gGeoManager = 0;
   AliReconstruction* reco = new AliReconstruction;
+  gGeoManager = xxx;
+
+  // Hack for ITS - it requires RecoParams outside event-loop!
+  reco->SetRecoParam("ITS", AliITSRecoParam::GetLowFluxParam());
+
   reco->ImportRunLoader(rl);
   {
     TString alldets;
@@ -52,6 +60,7 @@ void clusters()
       continue;
 
     AliTracker* tracker = reco->GetTracker(det);
+    if (tracker == 0) continue;
     tracker->LoadClusters(cTree);
     tracker->FillClusterArray(clarr);
   }
@@ -67,6 +76,7 @@ void clusters()
     {
       Int_t det = detIds[i];
       AliTracker* tracker = reco->GetTracker(det);
+      if (tracker == 0) continue;
       Int_t nclusters = at->GetClusters(det, idx);
       Int_t p=0;
       for (Int_t c = 0; c < nclusters; )