* provided "as is" without express or implied warranty. *
**************************************************************************/
-/*
-$Log$
-Revision 1.3 2000/12/21 17:51:54 morsch
-RN3 violations corrected
-
-Revision 1.2 2000/11/23 10:09:39 gosset
-Bug correction in AliMUONRecoDisplay.
-Copyright, $Log$
-Copyright, Revision 1.3 2000/12/21 17:51:54 morsch
-Copyright, RN3 violations corrected
-Copyright,, $Id$, comments at the right place for automatic documentation,
-in AliMUONRecoEvent and AliMUONRecoDisplay
-
-*/
+/* $Id$ */
//Authors: Mihaela Gheata, Andrei Gheata 09/10/00
//////////////////////////////////////////////////////////////////////
// //
//////////////////////////////////////////////////////////////////////
-#include <iostream.h>
-#include <AliRun.h>
-#include <TClonesArray.h>
-#include "AliMUONRecoEvent.h"
-#include "AliMUONRecoDisplay.h"
+#include <Riostream.h>
+
#include <TROOT.h>
-#include <AliPoints.h>
+#include <TFolder.h>
+#include <TClonesArray.h>
+#include <TGeometry.h>
#include <TSlider.h>
-#include <TView.h>
#include <TGeometry.h>
+#include <TView.h>
+
+#include <AliRun.h>
+#include <AliConfig.h>
+#include <AliHeader.h>
+#include <AliPoints.h>
+
+#include "AliMUONRecoEvent.h"
+#include "AliMUONRecoDisplay.h"
+#include "AliMC.h"
ClassImp(AliMUONRecoDisplay)
if (fEvGen) fEvGen->Clear();
fEvGen->SetNoEvent(nevent);
// get list of particles
- TClonesArray *particles = gAlice->Particles();
// connect MUON module
AliDetector *pMUON = gAlice->GetDetector("MUON");
if (!pMUON) {
gApplication->Terminate(0);
}
// get the number of generated tracks
- Int_t ntracks = (Int_t)gAlice->TreeH()->GetEntries();
+ Int_t ntracks = (Int_t)pMUON->TreeH()->GetEntries();
// Fill the fEvGen object
AliMUONRecoTrack *gtrack = 0;
AliMUONHit *hit = 0;
for (Int_t track=0; track<ntracks; track++) {
hit = (AliMUONHit *) pMUON->FirstHit(track);
if (!hit) continue;
- particle = (TParticle *) particles->UncheckedAt(hit->Track());
+ particle = gAlice->GetMCApp()->Particle(hit->Track());
if (IsReconstructible(track) && TMath::Abs(particle->GetPdgCode())==13) {
gtrack = fEvGen->AddEmptyTrack();
gtrack->SetSign(TMath::Sign((Int_t)1, -particle->GetPdgCode()));
for (AliMUONHit *muonHit=(AliMUONHit*)pMUON->FirstHit(track);
muonHit;
muonHit=(AliMUONHit*)pMUON->NextHit()) {
- ch = muonHit->fChamber - 1;
+ ch = muonHit->Chamber() - 1;
if (ch<0 || ch>9) continue;
gtrack->SetHitPosition(ch, muonHit->X(), muonHit->Y(), muonHit->Z());
gtrack->SetMomReconstr(particle->Px(), particle->Py(), particle->Pz());
if (newEvent<0 || newEvent>(gAlice->TreeE()->GetEntries() - 1)) return;
Int_t nparticles = gAlice->GetEvent(newEvent);
cout << "Event : " << newEvent << " with " << nparticles << " particles\n";
- if (!gAlice->TreeH()) return;
+
+/******************************************************************/
+ AliConfig* config = AliConfig::Instance();
+ TFolder* topfold = (TFolder*)config->GetTopFolder();
+ if (topfold == 0x0)
+ {
+ Error("Exec","Can not get Alice top folder");
+ return;
+ }
+ TString fmdfoldname(config->GetDataFolderName()+"/"+"MUON");
+ TFolder* fmdfold = (TFolder*)topfold->FindObject(fmdfoldname);
+ if (fmdfold == 0x0)
+ {
+ Error("Exec","Can not get MUON folder");
+ return;
+ }
+ TTree* treeH = dynamic_cast<TTree*>(fmdfold->FindObject("TreeH"));
+ if (treeH == 0x0)
+ {
+ Error("Exec","Can not get TreeH");
+ return;
+ }
+/******************************************************************/
MapEvent(newEvent);
fHighlited = -1;
}
for (AliMUONHit *muonHit=(AliMUONHit*)pMUON->FirstHit(track);
muonHit;
muonHit=(AliMUONHit*)pMUON->NextHit()) {
- ch = muonHit->fChamber - 1;
+ ch = muonHit->Chamber() - 1;
if (ch<0 || ch>9) continue;
chHit[ch] = kTRUE;
}