1 / 16

ANALYSIS Package

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

lawson
Download Presentation

ANALYSIS Package

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ANALYSISPackage Offline Week Piotr Krzysztof Skowroński 30June 2004

  2. AOD • Analysis Object Data • Similar to ESD but • Contains data needed to analysis ony • Designed for efficiency of the analysis Analysis project P. K. Skowroński Offline Week June 2004

  3. AliVAODParticle • Virtual AOD Particle • pure virtual class • Analyses can differ in preferable internal representation of a particle properties • pt, q, f • 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 Analysis project P. K. Skowroński Offline Week June 2004

  4. AliAODParticle • Concretized varsion of a particle class based on px, py, pz reprezentation Analysis project P. K. Skowroński Offline Week June 2004

  5. AliRunAnalysis cont... • Implements loop over events • Takes 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 Analysis project P. K. Skowroński Offline Week June 2004

  6. 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 Analysis project P. K. Skowroński Offline Week June 2004

  7. 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 Analysis project P. K. Skowroński Offline Week June 2004

  8. Cuts • Design of all cuts is similar • Cut 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) Analysis project P. K. Skowroński Offline Week June 2004

  9. 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 Analysis project P. K. Skowroński Offline Week June 2004

  10. Cuts: advantages of this design • Cuts that ranges were specified are checked only • Configuration without necessity of recompilation • Very 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 Analysis project P. K. Skowroński Offline Week June 2004

  11. 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 Analysis project P. K. Skowroński Offline Week June 2004

  12. Readers • Analysis takes data from an object of AliReader type • Reader returns AODs • There are implemented following readers • AliReaderESD • Reads ESD • Also can read • AliReaderKineTree • Reads Kinematics Tree • All currently implemented readers read AliAODParticles • User can set a list of directories where to look for data • By default it seeks in current directory Analysis project P. K. Skowroński Offline Week June 2004

  13. Readers • Method 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 Analysis project P. K. Skowroński Offline Week June 2004

  14. 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 Analysis project P. K. Skowroński Offline Week June 2004

  15. 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 Analysis project P. K. Skowroński Offline Week June 2004

  16. 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 Analysis project P. K. Skowroński Offline Week June 2004

More Related