Some small code changes to adapt to requests for implementation of mixing.
authorpulvir <pulvir@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Mar 2011 14:17:47 +0000 (14:17 +0000)
committerpulvir <pulvir@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 7 Mar 2011 14:17:47 +0000 (14:17 +0000)
commitd7712d4435aa5b88c3d55c3a72c6b537461db477
treedae367d2ff58312a3c0adefb84c809c5f70ae0ea
parent58e2b5726b1759123e89f0d9ce4b152844a0cf46
Some small code changes to adapt to requests for implementation of mixing.
Some restyling and creation of header comments or function comments.

AliRsnDaughter:
- added a pointer to the owner event, used for event-related quantities
- changed where possible the dynamic_cast calls with static ones and ROOT RTTI
- added a new enum for particle types, in order to manage what is not present in AliPID
  (this should become the reference for the package, while AliPID compatibility is kept when applicable)
- added static functions to deal with this enumeration and recover mass and PDG codes
- moved the initialization of momentum vector to the "SetRef()" function, while "SetMass()" changes the mass only

AliRsnDaughterDef:
- propagated the static functions and native enum in AliRsnDaughter for mass assignment

AliRsnMother:
- added a pointer to the owner event used as reference (in case the two daughters point to different ones)
- propagated the new particle type enumeration in AliRsnDaughter
- reimplemented some getters as inline

AliRsnEvent:
- removed the static data members (make confusion with mixing event handler)
- moved here all methods for multiplicity computations (included the new one with SPD)
- renamed multiplicity computation methods ("GetMultiplicity()" disappeared and replaced by 4 methods)
- added a function to set an AliRsnDaughter object from absolute index
- added a line of code to set (*this) as owner event for a daughter set with "SetDaughter()"
- restyled some comments

AliRsnTarget:
- removed all static data members
- when target is not an event, a reference event is set to the owner of the daugher/mother
  and is used to compute event-related values when passing those objects to any computation

AliRsnCutESD2010:
- removed function with non-pointer arguments

AliRsnCutPID:
- added a security check to avoid NULL objects

AliRsnCutPIDTOF:
- propagate the event referencing using the daughter owner event

AliRsnFunction:
- removed a useless data member to distinguish between 1-daughter and 2-daughters functions
- some class restyling
- added a data-member for values computation, to avoid several new/deletes per job
- fixed a bug for variable binning in THnSparse outputs
- added a check to skip histogram filling when at least one of the computations for an object is failed

AliRsnMonitor:
- replaced the static daughter data member with a pointer (initialized to 0)
  --> this helps in fixing a coverity problem raised with a previous version

AliRsnValue:
- added some new values: (detector signals, new multiplicity, total momentum in TPC)
- moved the explicit computation of some values to the respective targets (event, mother, daughter)
- added some comments along the big "select" code

AliRsnVATProcessInfo:
- used events histogram returns to 2 bins
- "FillInfo()" method returns to require an AliRsnEvent argument (since static are removed)

AliRsnAnalysisManager:
- now the "ProcessAll" function to execute all computations requires teo AliRsnEvent arguments
  (again, because the static data members in AliRsnEvent have been removed)
- unified computations for 1-track and 2-track functions

all analysis tasks:
- propagate all modifications in function calls
47 files changed:
PWG2/RESONANCES/AliRsnAnalysisEffSE.cxx
PWG2/RESONANCES/AliRsnAnalysisManager.cxx
PWG2/RESONANCES/AliRsnAnalysisManager.h
PWG2/RESONANCES/AliRsnAnalysisSE.cxx
PWG2/RESONANCES/AliRsnAnalysisTask.cxx
PWG2/RESONANCES/AliRsnAnalysisTask.h
PWG2/RESONANCES/AliRsnAnalysisTaskEff.cxx
PWG2/RESONANCES/AliRsnAnalysisTaskEff.h
PWG2/RESONANCES/AliRsnAnalysisTaskEffMonitor.cxx
PWG2/RESONANCES/AliRsnAnalysisTaskEffMonitor.h
PWG2/RESONANCES/AliRsnAnalysisTaskEffPair.cxx
PWG2/RESONANCES/AliRsnAnalysisTaskEffPair.h
PWG2/RESONANCES/AliRsnCut.cxx
PWG2/RESONANCES/AliRsnCutESD2010.cxx
PWG2/RESONANCES/AliRsnCutESD2010.h
PWG2/RESONANCES/AliRsnCutPID.cxx
PWG2/RESONANCES/AliRsnCutPIDTOF.cxx
PWG2/RESONANCES/AliRsnCutTrackQuality.cxx
PWG2/RESONANCES/AliRsnDaughter.cxx
PWG2/RESONANCES/AliRsnDaughter.h
PWG2/RESONANCES/AliRsnDaughterDef.cxx
PWG2/RESONANCES/AliRsnDaughterDef.h
PWG2/RESONANCES/AliRsnEvent.cxx
PWG2/RESONANCES/AliRsnEvent.h
PWG2/RESONANCES/AliRsnFunction.cxx
PWG2/RESONANCES/AliRsnFunction.h
PWG2/RESONANCES/AliRsnMonitor.cxx
PWG2/RESONANCES/AliRsnMonitor.h
PWG2/RESONANCES/AliRsnMonitorFunctions.cxx
PWG2/RESONANCES/AliRsnMonitorFunctions.h
PWG2/RESONANCES/AliRsnMonitorNtuple.cxx
PWG2/RESONANCES/AliRsnMonitorNtuple.h
PWG2/RESONANCES/AliRsnMonitorTrack.cxx
PWG2/RESONANCES/AliRsnMother.cxx
PWG2/RESONANCES/AliRsnMother.h
PWG2/RESONANCES/AliRsnPair.cxx
PWG2/RESONANCES/AliRsnPairFunctions.cxx
PWG2/RESONANCES/AliRsnPairNtuple.cxx
PWG2/RESONANCES/AliRsnTarget.cxx
PWG2/RESONANCES/AliRsnTarget.h
PWG2/RESONANCES/AliRsnVATProcessInfo.cxx
PWG2/RESONANCES/AliRsnVATProcessInfo.h
PWG2/RESONANCES/AliRsnVAnalysisTask.cxx
PWG2/RESONANCES/AliRsnVAnalysisTask.h
PWG2/RESONANCES/AliRsnVAnalysisTaskSE.cxx
PWG2/RESONANCES/AliRsnValue.cxx
PWG2/RESONANCES/AliRsnValue.h