--- /dev/null
+void bcmhits(Int_t events = 10)
+{
+ TH1::AddDirectory(kFALSE);
+ zH = new TH1F("zH", "z coordinate of hit", 210., -2100., 2100.);
+ rH = new TH1F("rH", "r coordinate of hit", 200., 0., 20.);
+ tH = new TH1F("tH", "time of hits", 100., 0., 100.);
+
+ // Creating Run Loader and openning file containing Hits
+ TClonesArray* hits = new TClonesArray ("AliBCMHit", 1000);
+ AliRunLoader* rl = AliRunLoader::Open("galice.root");
+ if (rl ==0x0) {
+ printf(">>> Error : Error Opening file \n");
+ return;
+ }
+ rl->LoadgAlice();
+ rl->LoadHeader();
+ rl->LoadKinematics();
+ gAlice = rl->GetAliRun();
+ AliBCM* pBCM = (AliBCM*) gAlice->GetDetector("BCM");
+
+// Histos
+ for (Int_t nev = 0; nev < events; nev++) {
+ // Load event
+ rl->GetEvent(nev);
+ AliLoader* bcmL = rl->GetLoader("BCMLoader");
+// bcmL->InitDefaults();
+ bcmL->LoadHits();
+ TTree* treeH = bcmL->TreeH();
+ Int_t ntracks = (Int_t) treeH->GetEntries();
+ printf("Number of particles %6d %6d \n", nev, ntracks);
+ for (Int_t itr = 0; itr < ntracks; itr++) {
+ gAlice->ResetHits ();
+ treeH->GetEvent(itr);
+ hits = pBCM->Hits();
+ Int_t nhits = hits->GetEntriesFast();
+ for (Int_t hit = 0; hit < nhits; hit++)
+ {
+
+ AliBCMHit* mHit = (AliBCMHit *) hits->UncheckedAt(hit);
+ Float_t x = mHit->X();
+ Float_t y = mHit->Y();
+ Float_t z = mHit->Z();
+ Float_t r = TMath::Sqrt(x * x + y * y);
+
+ zH->Fill(z);
+ tH->Fill(mHit->Time() * 1.e9);
+ rH->Fill(r);
+
+
+ } // hits
+ } // tracks
+ } // events
+ new TCanvas("c1");
+ zH->Draw();
+
+ new TCanvas("c2");
+ tH->Draw();
+
+ new TCanvas("c3");
+ rH->Draw();
+
+}