-// $Id: MUON_display.C 24485 2008-03-13 15:27:38Z mtadel $
+// $Id$
// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
/**************************************************************************
* full copyright notice. *
**************************************************************************/
+/// \ingroup evemacros
+/// \file MUON_displaySimu.C
+///
+/// \author B. Vulpescu, LPC
+
+#if !defined(__CINT__) || defined(__MAKECINT__)
+#include <Riostream.h>
+#include <Rtypes.h>
+#include <TTree.h>
+#include <TStyle.h>
+#include <TString.h>
+#include <TSystem.h>
+#include <TEveManager.h>
+#include <TEveElement.h>
+#include <TEveTrack.h>
+
+#include <AliMpSegmentation.h>
+#include <AliMpDDLStore.h>
+#include <AliMpCDB.h>
+#include <AliMUONRecoCheck.h>
+#include <AliMUONTrack.h>
+#include <AliMUONTrackExtrap.h>
+#include <AliMUONVTrackStore.h>
+#include <AliStack.h>
+#include <AliRunLoader.h>
+#include <AliESDEvent.h>
+#include <AliESDMuonTrack.h>
+#include <AliEveEventManager.h>
+#include <AliEveMUONData.h>
+#include <AliEveMUONChamber.h>
+#include <AliEveMUONTrack.h>
+#else
class AliEveMUONData;
class AliEveEventManager;
+#endif
AliEveMUONData *g_muon_data = 0;
-AliEveEventManager *g_muon_last_event = 0;
Int_t g_currentEvent = -1;
Bool_t g_fromRaw = kFALSE;
-AliMagFMaps *g_field = 0;
+void MUON_ESD_tracks();
+void MUON_Ref_tracks();
+void MUON_MC_tracks();
void MUON_displaySimu(Bool_t fromRaw = kFALSE, Bool_t showTracks = kTRUE, Bool_t clustersFromESD = kTRUE)
{
if (!AliMpSegmentation::Instance()) AliMpCDB::LoadMpSegmentation();
if (!AliMpDDLStore::Instance()) AliMpCDB::LoadDDLStore();
- if (g_field == 0) {
- printf("Loading field map...\n");
- g_field = new AliMagFMaps("Maps","Maps", 1, 1., 10., AliMagFMaps::k5kG);
- AliTracker::SetFieldMap(g_field, kFALSE);
- AliMUONTrackExtrap::SetField(AliTracker::GetFieldMap());
- }
+ // set the magnetic field for track extrapolations
+ AliEveEventManager::AssertMagField();
+ AliMUONTrackExtrap::SetField();
TTree* dt = 0;
TTree* ct = 0;
TTree* ht = 0;
- if (gAliEveEvent == 0) {
+ if (AliEveEventManager::GetMaster() == 0) {
printf("No alieve event: use alieve_init(...) \n");
return;
}
- if (g_currentEvent == gAliEveEvent->GetEventId()) {
+ if (g_currentEvent == AliEveEventManager::GetMaster()->GetEventId()) {
if (g_fromRaw == fromRaw) {
printf("Same event... \n");
return;
} else {
if (g_fromRaw) {
printf("Same event with digits.\n");
- gAliEveEvent->GotoEvent(g_currentEvent);
+ AliEveEventManager::GetMaster()->GotoEvent(g_currentEvent);
} else {
printf("Same event with raw.\n");
- gAliEveEvent->GotoEvent(g_currentEvent);
+ AliEveEventManager::GetMaster()->GotoEvent(g_currentEvent);
}
}
}
g_fromRaw = fromRaw;
- TString dataPath = TString(gAliEveEvent->GetTitle());
- dataPath.Append("/rawmuon.root");
+ TString dataPath = TString(AliEveEventManager::GetMaster()->GetTitle());
+ dataPath.Append("/raw.root");
AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
g_muon_data = new AliEveMUONData;
rl->LoadDigits("MUON");
dt = rl->GetTreeD("MUON", false);
if (dt == 0) {
- cout << "No digits produced!" << endl;
+ AliInfo("No digits produced!");
} else {
- cout << "With aliroot digits!" << endl;
+ AliInfo("With aliroot digits!");
g_muon_data->LoadDigits(dt);
}
} else {
if (gSystem->AccessPathName(dataPath.Data(),kFileExists)) {
- cout << "No raw data produced!" << endl;
+ AliInfo("No raw data produced!");
} else {
- cout << "With raw digits!" << endl;
+ AliInfo("With raw digits!");
g_muon_data->LoadRaw(dataPath.Data());
}
}
- TString esdDataPath = TString(gAliEveEvent->GetTitle());
+ TString esdDataPath = TString(AliEveEventManager::GetMaster()->GetTitle());
esdDataPath.Append("/AliESDs.root");
if (clustersFromESD) {
g_muon_data->LoadRecPointsFromESD(esdDataPath.Data());
ht = rl->GetTreeH("MUON", false);
g_muon_data->LoadHits(ht);
- g_muon_last_event = gAliEveEvent;
-
- g_currentEvent = g_muon_last_event->GetEventId();
+ g_currentEvent = AliEveEventManager::GetMaster()->GetEventId();
gStyle->SetPalette(1, 0);
//______________________________________________________________________________
void MUON_Ref_tracks()
{
- TString dataPathESD = TString(gAliEveEvent->GetTitle());
+ TString dataPathESD = TString(AliEveEventManager::GetMaster()->GetTitle());
dataPathESD.Append("/AliESDs.root");
- TString dataPathSIM = TString(gAliEveEvent->GetTitle());
+ TString dataPathSIM = TString(AliEveEventManager::GetMaster()->GetTitle());
dataPathSIM.Append("/");
AliMUONRecoCheck recoCheck(dataPathESD.Data(),dataPathSIM.Data());
- AliMUONVTrackStore* trackRefStore = recoCheck.ReconstructibleTracks(gAliEveEvent->GetEventId());
+ AliMUONVTrackStore* trackRefStore = recoCheck.ReconstructibleTracks(AliEveEventManager::GetMaster()->GetEventId());
TIter next(trackRefStore->CreateIterator());
AliMUONTrack* trackRef;
//______________________________________________________________________________
void MUON_MC_tracks()
{
- Double_t RADDEG = 180.0/TMath::Pi();
-
AliRunLoader* rl = AliEveEventManager::AssertRunLoader();
rl->LoadKinematics();
AliStack* stack = rl->Stack();
- Int_t nPrimary = stack->GetNprimary();
Int_t nTracks = stack->GetNtrack();
TEveTrackList* lt = new TEveTrackList("MC-Tracks");
gEve->AddElement(lt);
- Int_t pdgCode;
TParticle *part;
TEveRecTrack rt;
{
index = g_muon_data->GetTrack(i);
if (index >= nTracks) {
- cout << "TEveHit track index larger than number in stack!" << endl;
+ AliInfo("TEveHit track index larger than number in stack!");
continue;
}