Performance Timing Test
Did a timing test of Luca's analysis code on the Mac/SLC4 and on CERN/lxplus. I used the same source file, header file, and data file, and made five successive runs. The timing started in the "run" function of the code, before the histograms were created, and ended after all plots were made.
CERN/lxplus |
Real Time (s) |
CPU Time (s) |
203 |
14.8 |
194 |
14.1 |
198 |
13.6 |
199 |
14.9 |
201 |
14.2 |
Discussion: The slowness of lxplus Real Time was due to the time it takes to pop X windows over the internet, for the plots. The comparison is also somewhat uncontrolled since the loading of the two machines was different (see image below). It is really just a qualitative illustration that analysis on a laptop is feasible. The Mac CPU is only used at the 40% level for this version of the code, presumably the running is dominated by i/o since the analysis is pretty simple so far, not many calculations.
* Screen shot of Mac/SLC4 and CERN/lxplus system loads:
--
WillBrooks - 24 Jun 2008
Truth Containers in DPD files
Comment: Looking for "Truth" containers in Luca's 10,000 event file.
Using the command checkFile.py, find:
Size: 341301.356 kb |
Nbr Events: 10000 |
Mem Size |
Disk Size |
Size/Evt |
items (X) |
Container Name (X=Tree or Branch) |
27645.582 kb |
1457.248 kb |
0.146 kb |
10000 |
(T) DataHeader |
606.968 kb |
39.731 kb |
0.004 kb |
10000 |
(B) TruthParticleContainer_p5_SpclMC |
594.233 kb |
140.887 kb |
0.014 kb |
10000 |
(B) MissingET_p1_MET_RefFinal |
6000.142 kb |
1691.074 kb |
0.169 kb |
10000 |
(B) MuonContainer_p1_StacoMuonCollection |
28206.896 kb |
2290.039 kb |
0.229 kb |
10000 |
(B) EventInfo_p2_McEventInfo |
10683.812 kb |
2291.983 kb |
0.229 kb |
10000 |
(B) Rec::TrackParticleContainer_tlp1_StacoTrackParticles |
3264.956 kb |
2323.832 kb |
0.232 kb |
10000 |
(B) MissingEtTruth_p1_MET_Truth |
9226.639 kb |
5336.529 kb |
0.534 kb |
10000 |
(B) TrackRecordCollection_p2_MuonEntryLayerFilter |
25721.989 kb |
6564.581 kb |
0.656 kb |
10000 |
(B) ElectronContainer_p1_ElectronAODCollection |
32789.641 kb |
12236.253 kb |
1.224 kb |
10000 |
(B) egDetailContainer_p1_egDetailAOD |
155019.156 kb |
25521.351 kb |
2.552 kb |
10000 |
(B) ParticleJetContainer_p1_Cone4H1TopoParticleJets |
192143.969 kb |
38237.322 kb |
3.824 kb |
10000 |
(B) ParticleJetContainer_p1_Cone4TruthParticleJets |
154408.950 kb |
56172.657 kb |
5.617 kb |
10000 |
(B) Rec::TrackParticleContainer_tlp1_TrackParticleCandidate |
323847.991 kb |
84230.634 kb |
8.423 kb |
10000 |
(B) TrigDec::TrigDecision_p1_TrigDecision |
272859.932 kb |
97964.390 kb |
9.796 kb |
10000 |
(B) McEventCollection_p3_GEN_DPD |
1243020.856 kb |
336498.511 kb |
33.650 kb |
10000 |
TOTAL (POOL containers) |
Found ./ atlas/
PhysicsAnalysis/
TruthParticleID/
McParticleEvent/ src/
TruthParticleContainer.cxx . Contains, e.g.,
TruthParticleContainer::TruthParticleContainer( const
TruthParticleContainer& rhs ) :
DataVector( rhs ),
m_genEvent ( rhs.m_genEvent ),
m_etIsolations( rhs.m_etIsolations ),
m_particles ( rhs.m_particles )
{}
How to set branch address? Tried:
#include "McParticleEvent/TruthParticleContainer.h" |
... |
TBranch* br_mc; |
TruthParticleContainer* MC; |
trans->SetBranchAddress("SpclMC",&MC,&br_mc); |
and it compiled
How to look at root file directly with TBrowser? Get "no dictionary" warnings, e.g.,
Warning in <TClass::TClass>: no dictionary for class Navigable<JetCollection,double,vector<pair<ElementLink<JetCollection,DataProxyStorage,ForwardIndexingPolicy >,double> > > is available
Warning in <TClass::TClass>: no dictionary for class Navigable<Rec::TrackParticleContainer,double,vector<pair<ElementLink<Rec::TrackParticleContainer,DataProxyStorage<Rec::TrackParticleContainer>,ForwardIndexingPolicy<Rec::TrackParticleContainer> >,double> > > is available
Warning in <TClass::TClass>: no dictionary for class Navigable<ElectronContainer,double,vector<pair<ElementLink<ElectronContainer,DataProxyStorage,ForwardIndexingPolicy >,double> > > is available
Warning in <TClass::TClass>: no dictionary for class Navigable<Analysis::MuonContainer,double,vector<pair<ElementLink<Analysis::MuonContainer,DataProxyStorage<Analysis::MuonContainer>,ForwardIndexingPolicy<Analysis::MuonContainer> >,double> > > is available
-- WillBrooks - 29 Jul 2008