X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;ds=sidebyside;f=EVE%2Falice-macros%2Ftpc_hits.C;h=fb1f3d55d377172433cc39a9c71c978c29c56e7d;hb=115b665569aecc3c6e138662717af11dc50b640f;hp=b2819e6fcb072c4ef7ed3fea2388a281ada0ece5;hpb=5a5a1232e8031fbb4f6af24a0fef355b684c6ac4;p=u%2Fmrichter%2FAliRoot.git diff --git a/EVE/alice-macros/tpc_hits.C b/EVE/alice-macros/tpc_hits.C index b2819e6fcb0..fb1f3d55d37 100644 --- a/EVE/alice-macros/tpc_hits.C +++ b/EVE/alice-macros/tpc_hits.C @@ -1,28 +1,51 @@ // $Id$ +// Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 -Reve::PointSet* -tpc_hits(const char *varexp = "TPC2.fArray.fR:TPC2.fArray.fFi:TPC2.fArray.fZ", - const char *selection = "TPC2.fArray.fR>80", - Option_t *option = "goff") +/************************************************************************** + * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * + * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * + * full copyright notice. * + **************************************************************************/ + +TEvePointSet* +tpc_hits(const char *varexp = "TPC2.fArray.fR:TPC2.fArray.fFi:TPC2.fArray.fZ", + const char *selection = "TPC2.fArray.fR>80", + TEveElement *cont = 0) { // Extracts 'major' TPC hits (not the compressed ones). // This gives ~2.5% of all hits. - AliRunLoader* rl = Alieve::Event::AssertRunLoader(); + AliRunLoader* rl = AliEveEventManager::AssertRunLoader(); rl->LoadHits("TPC"); TTree* ht = rl->GetTreeH("TPC", false); - ht->SetEstimate(400*ht->GetEntries()); - ht->Draw(varexp, selection, option); - - Reve::PointSet* points = - new Reve::PointSet(Form("TPC Hits '%s'", selection), ht, - Reve::PointSet::TVT_RPhiZ); - points->SetTitle(Form("N=%d", points->GetN())); - points->SetMarkerColor((Color_t)3); - - gReve->AddRenderElement(points); - gReve->DrawRenderElement(points); + + //PH The line below is replaced waiting for a fix in Root + //PH which permits to use variable siza arguments in CINT + //PH on some platforms (alphalinuxgcc, solariscc5, etc.) + //PH TEvePointSet* points = new TEvePointSet(Form("TPC Hits '%s'", selection)); + char form[1000]; + sprintf(form,"TPC Hits '%s'", selection); + TEvePointSet* points = new TEvePointSet(form); + points->SetSourceCS(TEvePointSelectorConsumer::kTVT_RPhiZ); + + TEvePointSelector ps(ht, points, varexp, selection); + ps.Select(); + + if (points->Size() == 0 && gEve->GetKeepEmptyCont() == kFALSE) { + Warning("tpc_hits", Form("No hits match '%s'", selection)); + delete points; + return 0; + } + + //PH points->SetTitle(Form("N=%d", points->Size())); + sprintf(form,"N=%d", points->Size()); + points->SetTitle(form); + points->SetMarkerSize(.5); + points->SetMarkerColor(3); + + gEve->AddElement(points, cont); + gEve->Redraw3D(); return points; }