Upload
lawson
View
30
Download
3
Embed Size (px)
DESCRIPTION
ANALYSIS Package. Offline Week Piotr Krzysztof Skowroński 30 June 200 4. AOD. A nalysis O bject D ata Similar to ESD but Contains data needed to analysis ony Designed for efficiency of the analysis. AliVAODParticle. Virtual AOD Particle pure virtual class - PowerPoint PPT Presentation
Citation preview
2 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
AOD
Analysis Object DataSimilar to ESD but Contains data needed to analysis ony Designed for efficiency of the analysis
3 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
AliVAODParticleVirtual AOD Particle pure virtual class
Analyses can differ in preferable internal representation of a particle properties
pt, , px, py, pz
Analyses should depend only on the interface defined by AliVAODParticle
Given analysis specific particle should not extend functionality of a particle
If such needed, proper method should be defined in VAODParticle
Still guarantee that one analysis can always be run on data prepared for other analysis
Even if less efficient Provides all the interfaces needed for accessing
any property
4 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
AliAODParticle
Concretized varsion of a particle class based on px, py, pz reprezentation
5 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
AliRunAnalysis cont...Implements loop over eventsTakes data from a reader (AliReader)Reader provides 2 pointers to AODs
Reconstructed and (eventually if demanded) Simulated
These two AODs have „parallel” structure Nth particle in simulated event corresponds to nth in the
reconstructed one Comfortable for any comparisons and resolution analyses
One track can appear more than ones in AOD in two different incarnations f.g ones as pion and ones as kaon In order to recognize them, particles are given UID
(unique ID)
RunAnalysis checks AOD against the event cut Implemented by AliEventCut
6 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
AliAnalysis: base class for analyses
Analysis has to provide 3 methods Init ProcessEvent(AliAOD* rec,AliAOD*sim=0) Finish
Analysis is a task AliAnalysis inherits from TTask Identified by unique names Under Developement: Specification what
requires and what provides This way AliRunAnalysis can correctly order the
execution and check if there is no circular dependencies between analyses
7 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
Output data
Currently each analysis is responsible for writing its results to file Done in a macro
Output data can be stored in folders Other analyses can find there data
which they require Writing results can be managed by
AliRunAnalysis
8 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
CutsDesign of all cuts is similarCut contains list of „Base Cuts”„Base Cut” implements a cut on a single property„Base Cuts” that perform logical operations on others „base cuts” F.g.: AliAODOrPairCut Allows to create tree structure that implements
sophisticated logical operations, e.g. (Number of TPC tracks > N) AND (ZDC signal > X)
Cut implements shortcut methods for setting ranges e.g..: SetPtRange(0.4,0.7)
9 Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
Cuts
„Base Cuts” are distinguishable by their property (enumerate type) If a given base cut is already present in the
list, and user wants to change its range
„Empty Cuts” Accepts everything All pointers to cuts by default point an empty
cut No necessity of checking if pointer is not NULL
Cuts use negative logic! True when accepted Carefully with logical base cuts
Ranges specify what we want to accept
10
Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
Cuts: advantages of this design
Cuts that ranges were specified are checked onlyConfiguration without necessity of recompilationVery easy to extend functionality User can implement his own library with
base cuts No necessity to reinstall all the software (e.g. on
all AliEn sites) because one more cut is needed One still can create a base cut that
implements complicated
11
Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
Cuts: AliEventCut Event properties
AliParticleCut Particle properties
AliPairCut Pair properties Apart of list of pair „base cuts” consists
pointers to 2 AliParticleCut They can point the same cut
12
Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
ReadersAnalysis takes data from an object of AliReader typeReader returns AODsThere are implemented following readers AliReaderESD
Reads ESD Also can read
AliReaderKineTree Reads Kinematics Tree
All currently implemented readers read AliAODParticlesUser can set a list of directories where to look for data By default it seeks in current directory
13
Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
ReadersMethod Next() reads the next event Returns non-zero value when no more events
available
Concretized Reader has to implement ReadNext()
Attempts to read next event Returns 0 in case of success
Rewind()
Readers do not buffer events by default If some kind of mixing is necessary given
analysis has to make a own copy for their use
14
Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
Other classes moved from HBTAN
AliTrackPoints List of spatial coordinates of a track in different
radii Used to asses
Average distance between two tracks If track was passing close to some element or other
track at given position
AliClusterMap Bit Vector describing cluster occupation in TPC
1 on nth field if track has a cluster on nth padrow Used to detect splitted tracks
AliEventBuffer FIFO queue for buffering events
Readers by default are not buffering
15
Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
Not yet implemented ideasAliRunAnalysis
Use AliLoader as utility object We are going to need more data for
analysis that we would like to share in folders Geometry, configuration parameters, etc. loaders can simplify this task
Loaders can be created on the fly by AliRunAnalysis Dependence on galice.root at all. is not a
problem Loaders can be hided behind
AliRunAnalaysis so user can be even unaware of their presence
16
Analysis project P. K. Skowroński Offline Week June 2004 30 June 2004
Not yet implemented ideasAliRunAnalysis
Must guarantee consistency when automatically paralleled Input data consistency check against
demanded set must be performed every event
Output data consistency Not to write the rubbish if error occurred
According to current schema output must be written as TH1’s or TTree’s