Rename ImportClusters() to ImportClustersFromLabel().
* AliEveTrackCounter
Also save all three primary vertices.
* make_scan_results.C
Processes also primary vertices.
Delete objects read from file.
* MultiView.C
Add function SetDepth() that sets current-depth of both projection
managers.
* visscan_init.C
Set projection z-depth to -10 before importing geometry, then set it
back to 0.
* clusters_from_index.C
Project clusters if gMultiView is defined.
Increase marker size to 2cm.
Remove solaris cint hack.
}
//______________________________________________________________________________
-void AliEveTrack::ImportClusters()
+void AliEveTrack::ImportClustersFromLabel()
{
// Import clusters with same label as the track.
// Uses macro "clusters_from_label.C".
AliEveTrack(const AliEveTrack& t);
virtual ~AliEveTrack();
- virtual void ImportHits(); // *MENU*
- virtual void ImportClusters(); // *MENU*
-
+ void ImportHits(); // *MENU*
+
+ void ImportClustersFromLabel(); // *MENU*
void ImportClustersFromIndex(); // *MENU*
+
void ImportKine(); // *MENU*
void ImportKineWithArgs(Bool_t importMother=kTRUE, Bool_t impDaugters=kTRUE,
Bool_t colorPdg =kTRUE, Bool_t recurse =kTRUE); // *MENU*
trk->Write(TString::Format("Tracks_%04d", fEventId), kWriteDelete | kSingleKey);
mul->Write(TString::Format("Tracklets_%04d", fEventId), kWriteDelete);
+ esd->GetPrimaryVertexTracks()->Write(TString::Format("PrimVertTracks_%04d", fEventId), kWriteDelete);
+ esd->GetPrimaryVertexTPC() ->Write(TString::Format("PrimVertTPC_%04d", fEventId), kWriteDelete);
+ esd->GetPrimaryVertexSPD() ->Write(TString::Format("PrimVertSPD_%04d", fEventId), kWriteDelete);
+
f->Close();
}
}
}
clusters->SetMarkerStyle(2);
- clusters->SetMarkerSize(0.5);
+ clusters->SetMarkerSize(2);
clusters->SetMarkerColor(4);
- //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 clusters->SetName(Form("Clusters idx=%d", index));
- char form[1000];
- sprintf(form,"Clusters idx=%d", index);
- clusters->SetName(form);
+ clusters->SetName(Form("Clusters idx=%d", index));
+ clusters->SetTitle(Form("N=%d", clusters->Size()));
- char tip[1000];
- sprintf(tip,"N=%d", clusters->Size());
- clusters->SetTitle(tip);
gEve->AddElement(clusters);
+
+ if (gMultiView)
+ {
+ gMultiView->ImportEventRPhi(clusters);
+ gMultiView->ImportEventRhoZ(clusters);
+ }
+
gEve->Redraw3D();
return clusters;
fGeomGentleRPhi = grphi; fGeomGentleRPhi->IncDenyDestroy();
fGeomGentleRhoZ = grhoz; fGeomGentleRhoZ->IncDenyDestroy();
- fRPhiMgr->SetCurrentDepth(-10);
ImportGeomRPhi(fGeomGentleRPhi);
- fRPhiMgr->SetCurrentDepth(0);
-
- fRhoZMgr->SetCurrentDepth(-10);
ImportGeomRhoZ(fGeomGentleRhoZ);
- fRhoZMgr->SetCurrentDepth(0);
}
void InitGeomGentleTrd(TEveGeoShape* gtrd)
//-------------------------------------------------------------------------
+ void SetDepth(Float_t d)
+ {
+ fRPhiMgr->SetCurrentDepth(d);
+ fRhoZMgr->SetCurrentDepth(d);
+ }
+
+ //-------------------------------------------------------------------------
+
void ImportGeomRPhi(TEveElement* el)
{
fRPhiMgr->ImportElements(el, fRPhiGeomScene);
//
// This allows to check all possible combinations.
+struct XXX
+{
+ const char *bname;
+ const char *oname;
+ TBranch *branch;
+ AliESDVertex *vert;
+};
+
+XXX vvv[3] = {
+ { "VT", "PrimVertTracks" },
+ { "VTPC", "PrimVertTPC" },
+ { "VSPD", "PrimVertSPD" }
+};
void make_scan_results()
{
T = new TTree("SR", "Scanning results");
- TClonesArray* clones = new TClonesArray("AliESDtrack", 32);
- TBranch * tb = T->Branch("T", &clones);
+ TClonesArray* ts = new TClonesArray("AliESDtrack", 32);
+ TBranch * tb = T->Branch("T", &ts);
+ delete ts;
- AliMultiplicity *mult = 0;
- TBranch *mb = T->Branch("M", &mult);
+ AliMultiplicity *ms = 0;
+ TBranch *mb = T->Branch("M", &ms);
+ for (Int_t v = 0; v < 3; ++v)
+ {
+ vvv[v].vert = 0;
+ vvv[v].branch = T->Branch(vvv[v].bname, &vvv[v].vert);
+ }
for (Int_t i=0; i<=9999; ++i)
{
TString name;
name.Form("Tracks_%04d", i);
- TClonesArray* ts = (TClonesArray*) f->Get(name);
+ ts = (TClonesArray*) f->Get(name);
+ if (ts == 0)
+ continue;
name.Form("Tracklets_%04d", i);
- AliMultiplicity* ms = (AliMultiplicity*) f->Get(name);
+ ms = (AliMultiplicity*) f->Get(name);
+ if (ms == 0)
+ Error("make_scan_results", "'%s' not found.", name.Data());
- if (ts && ms)
- {
- tb->SetAddress(&ts);
- mb->SetAddress(&ms);
- T->Fill();
- }
- else if ((ts && !ms) || (!ts && ms))
+ tb->SetAddress(&ts);
+ mb->SetAddress(&ms);
+
+ for (Int_t v = 0; v < 3; ++v)
{
- Error("make_scan_results", "Only one of tracks/tracklets exists for index %d.", i);
+ name.Form("%s_%04d", vvv[v].oname, i);
+ vvv[v].vert = (AliESDVertex*) f->Get(name);
+ if (vvv[v].vert == 0)
+ Error("make_scan_results", "'%s' not found.", name.Data());
+ vvv[v].branch->SetAddress(&vvv[v].vert);
}
+ T->Fill();
+
+ delete ts;
+ delete ms;
+ for (Int_t v = 0; v < 3; ++v) delete vvv[v].vert;
}
T->Write();
gMultiView = new MultiView;
+ gMultiView->SetDepth(-10);
+
TEveUtil::LoadMacro("geom_gentle.C");
gMultiView->InitGeomGentle(geom_gentle(),
geom_gentle_rphi(),
gMultiView->InitGeomGentleMuon(geom_gentle_muon(kFALSE), gShowMuonRPhi, gShowMuonRhoZ);
}
+ gMultiView->SetDepth(0);
//==============================================================================
// Registration of per-event macros