Heavy ion Analysis Libriares
Loading...
Searching...
No Matches
Hal::EventAna Class Reference

#include <EventAna.h>

Inheritance diagram for Hal::EventAna:
Hal::Task Hal::BoostTask Hal::EventAnaChain Hal::EventRotateTask Hal::QAEventTask Hal::SplitedTrackToStatusTask Hal::SplittingToStatusTask Hal::TrackAna Hal::ChargedFluctuationsAna Hal::FluctuationsAna Hal::MiniEventTask Hal::MultiTrackAna Hal::QATrackTask Hal::SimpleVnAnalysis Hal::SmearTask Hal::SpectraAna Hal::TrackAnaChain Hal::TrackColDumAna Hal::V0BasicFinder

Public Types

enum class  EFormatOption {
  kCompress , kNoCompress , kKeepSource , kNoKeepSource ,
  kDirectAccess , kNoDirectAccess , kReaderAccess , kNoReaderAcces ,
  kDisableChecking , kStandardAcess
}
 
- Public Types inherited from Hal::Task
enum class  EInitFlag { kSUCCESS , kERROR , kFATAL }
 

Public Member Functions

 EventAna ()
 
 EventAna (const EventAna &ana)
 
EventAnaoperator= (const EventAna &other)
 
virtual void AddTags (TString tag)
 
virtual void AddCut (const Cut &cut, Option_t *opt="")
 
virtual void AddCutMonitor (const CutMonitor &mon, Option_t *opt="")
 
virtual void AddCutsAndMonitors (const CutsAndMonitors &monCuts)
 
virtual void Exec (Option_t *opt)
 
virtual void SetOption (Option_t *opt)
 
void SetFormatOption (EFormatOption option)
 
virtual void SetComment (TString comment)
 
virtual void SetFormat (Event *format, EFormatDepth depth=EFormatDepth::kAll)
 
virtual void FinishTask ()
 
virtual ~EventAna ()
 
- Public Member Functions inherited from Hal::Task
 Task ()
 

Protected Types

enum  eBitFormat {
  kCompression = 0 , kSource = 1 , kDirectAcesss = 2 , kReader = 3 ,
  kChecking = 4
}
 

Protected Member Functions

TString GetInputFileName () const
 
void SetInputFileName (TString name)
 
virtual void InitMemoryMap ()
 
Bool_t IsInChain () const
 
void MarkAsInChain ()
 
void AddToAnaMetadata (Package *main_pack, TObject *obj) const
 
Task::EInitFlag InitCutContainer ()
 
virtual Task::EInitFlag CheckFormat ()
 
Int_t GetTaskID () const
 
virtual void LinkCollections ()
 
virtual void ProcessEvent ()
 
virtual void InitNewCutContainer ()
 
virtual void CheckCutContainerCollections ()
 
virtual PackageReport () const
 
virtual Task::EInitFlag Init ()
 
 EventAna (ECutUpdate tiers)
 
- Protected Member Functions inherited from Hal::Task
void GoToDir (TString name)
 

Protected Attributes

Int_t fFormatOption
 
UInt_t fProcessedEvents
 
Int_t fMixSize
 
Int_t fEventCollectionsNo
 
Int_t fCurrentEventCollectionID
 
const ECutUpdate fTiers
 
TDatabasePDG * fPDG
 
CutContainerfCutContainer
 
MemoryMapManagerfMemoryMap
 
EventfCurrentEvent
 
TString fComment
 
Int_t fInit
 

Detailed Description

Base class for physical analysis

Definition at line 36 of file EventAna.h.

Member Enumeration Documentation

◆ eBitFormat

enum Hal::EventAna::eBitFormat
protected

Definition at line 49 of file EventAna.h.

◆ EFormatOption

enum class Hal::EventAna::EFormatOption
strong

flags for setting format options NOTE: some of these flags might disable other

Enumerator
kCompress 

compress data (when buffer)

kNoCompress 

do not compress data (default)

kKeepSource 

keep source format in buffer

kNoKeepSource 

do not keep source in buffer (default)

kDirectAccess 

read direct data (look for branch ClassName.)

kNoDirectAccess 

do not use direct data

kReaderAccess 

use reader acces (look for branch HalEvent.)

kDisableChecking 

dusable format checking

kStandardAcess 

!< standard acces

Definition at line 213 of file EventAna.h.

Constructor & Destructor Documentation

◆ EventAna() [1/3]

Hal::EventAna::EventAna ( ECutUpdate tiers)
protected

constructor for derived classes

Parameters
tiers

Definition at line 38 of file EventAna.cxx.

◆ EventAna() [2/3]

Hal::EventAna::EventAna ( )
inline

basic constructor

Definition at line 237 of file EventAna.h.

◆ EventAna() [3/3]

Hal::EventAna::EventAna ( const EventAna & ana)

copy constructor

Parameters
ana

Definition at line 216 of file EventAna.cxx.

◆ ~EventAna()

Hal::EventAna::~EventAna ( )
virtual

default dtor

Definition at line 252 of file EventAna.cxx.

Member Function Documentation

◆ AddCut()

void Hal::EventAna::AddCut ( const Cut & cut,
Option_t * opt = "" )
virtual

add cut object

Parameters
cut
optcan be "fast", with multiplying factor "{AxB}" (where A is number of added cuts, and B is jump in collection value), like "{A}" (then cut is added with collection number A), also mixed versions like "fast+{AxB}" and "fast+{A}" can be used. For two track analysis option "sig" add cut only for signal pairs and "bckg" only for background pairs. It's also possible to add in this way pure real or pure imaginary cuts. For example by adding TrackXCut with "im" option TrackComplexCut(TrackVirtualCut, TrackXCut) is added.

Reimplemented in Hal::ChargedFluctuationsAna, Hal::FemtoEventBinsAna, Hal::FemtoFreezoutsAna, Hal::SplittingToStatusTask, and Hal::V0BasicFinder.

Definition at line 322 of file EventAna.cxx.

◆ AddCutMonitor()

void Hal::EventAna::AddCutMonitor ( const CutMonitor & mon,
Option_t * opt = "" )
virtual

add cut monitor object

Parameters
mon
optoption of adding cut monitor. Following options are allowed: "bckg" to add only to background, "sig" to add only in singal (both flags are valid only for analysis where signal and background is present). Other options are like "{AxB}" where A is number of cut monitors, and B is jumb in collection number, eg. {2x3} mean adding cut with collection N, N+3. User might also set option like "{A}" where A is collection number. Combination of those options are allowed. Its's also possible to monitor pure "real" cuts or pure imaginary cuts but setting option "+re" or "+im" respectively

Reimplemented in Hal::V0BasicFinder.

Definition at line 327 of file EventAna.cxx.

◆ AddCutsAndMonitors()

void Hal::EventAna::AddCutsAndMonitors ( const CutsAndMonitors & monCuts)
virtual

add collection of predefined cuts and cut monitors

Parameters
monCuts

Definition at line 440 of file EventAna.cxx.

◆ AddTags()

void Hal::EventAna::AddTags ( TString tag)
virtual

add tags

Parameters
tagtags seperated by space

Definition at line 304 of file EventAna.cxx.

◆ AddToAnaMetadata()

void Hal::EventAna::AddToAnaMetadata ( Package * main_pack,
TObject * obj ) const
protected

add object to existing metadata list

Parameters
main_packpointer to package created by Report method
objobject to add

Definition at line 239 of file EventAna.cxx.

◆ CheckCutContainerCollections()

void Hal::EventAna::CheckCutContainerCollections ( )
protectedvirtual

checking cut containers. should be overwritten in derived classes

Reimplemented in Hal::ChargedFluctuationsAna, Hal::EventRotateTask, Hal::Femto1DCFAnaMap, Hal::FemtoBasicAna, Hal::FluctuationsAna, Hal::SimpleVnAnalysis, Hal::SmearTask, Hal::TrackAna, and Hal::TwoTrackAna.

Definition at line 200 of file EventAna.cxx.

◆ CheckFormat()

Task::EInitFlag Hal::EventAna::CheckFormat ( )
protectedvirtual

check if format set in analysis is ok

Returns

Reimplemented in Hal::MultiTrackAna, and Hal::SplittingToStatusTask.

Definition at line 371 of file EventAna.cxx.

◆ Exec()

void Hal::EventAna::Exec ( Option_t * opt)
virtual

◆ FinishTask()

void Hal::EventAna::FinishTask ( )
virtual

called at the end of analysis save resutls

Reimplemented from Hal::Task.

Reimplemented in Hal::EventAnaChain, Hal::FemtoBasicAna, Hal::FemtoDumpPairAna, Hal::MultiTrackAna, Hal::TrackAna, Hal::TrackAnaChain, Hal::TwoTrackAna, and Hal::TwoTrackAnaChain.

Definition at line 291 of file EventAna.cxx.

◆ GetInputFileName()

TString Hal::EventAna::GetInputFileName ( ) const
inlineprotected
Returns
name of input file

Definition at line 99 of file EventAna.h.

◆ GetTaskID()

Int_t Hal::EventAna::GetTaskID ( ) const
inlineprotected
Returns
ID of task (and usually and format) used in this task (each task have own ID even if use the same format

Definition at line 155 of file EventAna.h.

◆ Init()

Task::EInitFlag Hal::EventAna::Init ( )
protectedvirtual

initialize task, in principle all derived classes should usually call this method, this method do following steps:

  1. SetInputFile() - set name of the input file
  2. SetFormatOption(EFormatOption::kReaderAccess) - set reader format if no format is set
  1. InitNewCutContainer() - init new container if no container is set
  2. CheckCutContainerCollections()
  3. LinkCollections()
  4. fCutContainer->Init(GetTaskID())
Returns
status of initialization

Reimplemented from Hal::Task.

Reimplemented in Hal::BoostTask, Hal::ChargedFluctuationsAna, Hal::EventAnaChain, Hal::Femto1DCFAnaMap, Hal::FemtoBasicAna, Hal::FemtoDumpPairAna, Hal::FemtoEventBinsAna, Hal::FemtoFreezoutsAna, Hal::FluctuationsAna, Hal::MiniEventTask, Hal::MultiTrackAna, Hal::QAEventTask, Hal::QATrackTask, Hal::SimpleVnAnalysis, Hal::SmearTask, Hal::SpectraAna, Hal::SplitedTrackToStatusTask, Hal::SplittingToStatusTask, Hal::TrackAna, Hal::TrackAnaChain, Hal::TrackColDumAna, Hal::TwoTrackAna, Hal::TwoTrackAnaChain, and Hal::V0BasicFinder.

Definition at line 66 of file EventAna.cxx.

◆ InitCutContainer()

Task::EInitFlag Hal::EventAna::InitCutContainer ( )
protected

initialize cut container

Returns
return kFATAL if something is wrong with cut containers

Definition at line 127 of file EventAna.cxx.

◆ InitMemoryMap()

void Hal::EventAna::InitMemoryMap ( )
protectedvirtual

initialize memory map manager

Reimplemented in Hal::FemtoEventBinsAna.

Definition at line 423 of file EventAna.cxx.

◆ InitNewCutContainer()

void Hal::EventAna::InitNewCutContainer ( )
protectedvirtual

init new cut container if current is NULL (may happen if user don't add any cut, should be overwritten in derived classes

Reimplemented in Hal::MultiTrackAna, and Hal::TwoTrackAna.

Definition at line 192 of file EventAna.cxx.

◆ IsInChain()

Bool_t Hal::EventAna::IsInChain ( ) const
inlineprotected
Returns
true if taks in chain

Definition at line 129 of file EventAna.h.

◆ LinkCollections()

void Hal::EventAna::LinkCollections ( )
protectedvirtual

link collections

Reimplemented in Hal::QATrackTask, Hal::SimpleVnAnalysis, Hal::TrackAna, Hal::TwoTrackAna, and Hal::V0BasicFinder.

Definition at line 190 of file EventAna.cxx.

◆ MarkAsInChain()

void Hal::EventAna::MarkAsInChain ( )
inlineprotected

mark taks as "in chain"

Definition at line 133 of file EventAna.h.

◆ operator=()

EventAna & Hal::EventAna::operator= ( const EventAna & other)

assignement operator

Parameters
other
Returns

Definition at line 449 of file EventAna.cxx.

◆ ProcessEvent()

◆ Report()

Package * Hal::EventAna::Report ( ) const
protectedvirtual

◆ SetComment()

void Hal::EventAna::SetComment ( TString comment)
virtual

add owno comment

Parameters
commentcomment

Definition at line 302 of file EventAna.cxx.

◆ SetFormat()

void Hal::EventAna::SetFormat ( Event * format,
EFormatDepth depth = EFormatDepth::kAll )
virtual

set format

Parameters
formatany class that inherit from NIcaEventAna and ican be read from currently processed file
depth- format type - use buffered to setup different format for buffered events

Definition at line 210 of file EventAna.cxx.

◆ SetFormatOption()

void Hal::EventAna::SetFormatOption ( EFormatOption option)

set format option

  • kCompress - compress buffered events
  • kDirectAcces - read preprocessed event from tree (that inherits from Event)
  • kKeepSource - keep original structure in memory
    Parameters
    option

Definition at line 332 of file EventAna.cxx.

◆ SetInputFileName()

void Hal::EventAna::SetInputFileName ( TString name)
inlineprotected

set input file name

Parameters
name

Definition at line 104 of file EventAna.h.

◆ SetOption()

void Hal::EventAna::SetOption ( Option_t * opt)
virtual

for setting options, not used in EventAna

Parameters
opt

Reimplemented in Hal::FemtoBasicAna, Hal::FemtoFreezoutsAna, Hal::MultiTrackAna, Hal::SpectraAna, Hal::TrackAna, and Hal::TwoTrackAna.

Definition at line 115 of file EventAna.cxx.

Member Data Documentation

◆ fComment

TString Hal::EventAna::fComment
protected

comment about this analysis

Definition at line 90 of file EventAna.h.

◆ fCurrentEvent

Event* Hal::EventAna::fCurrentEvent
protected

currently processed event

Definition at line 86 of file EventAna.h.

◆ fCurrentEventCollectionID

Int_t Hal::EventAna::fCurrentEventCollectionID
protected

point to current event collection number

Definition at line 65 of file EventAna.h.

◆ fCutContainer

CutContainer* Hal::EventAna::fCutContainer
protected

hold information about all cuts and cut monitors

Definition at line 78 of file EventAna.h.

◆ fEventCollectionsNo

Int_t Hal::EventAna::fEventCollectionsNo
protected

total number of event collections

Definition at line 61 of file EventAna.h.

◆ fFormatOption

Int_t Hal::EventAna::fFormatOption
protected

map of format options in bit BIT(0) - disable /enable compression BIT(1) - disable/enable source BIT(2) - direct access BIT(3) - disable/enable reader BIT(4) - disable/enable format checking

Definition at line 48 of file EventAna.h.

◆ fInit

Int_t Hal::EventAna::fInit
protected

true if object has been initialized

Definition at line 94 of file EventAna.h.

◆ fMemoryMap

MemoryMapManager* Hal::EventAna::fMemoryMap
protected

hold all events and tracks

Definition at line 82 of file EventAna.h.

◆ fMixSize

Int_t Hal::EventAna::fMixSize
protected

size of buffer for mixing (not used by event and track analysis

Definition at line 57 of file EventAna.h.

◆ fPDG

TDatabasePDG* Hal::EventAna::fPDG
protected

pointer to instance of TDatabasePDG

Definition at line 74 of file EventAna.h.

◆ fProcessedEvents

UInt_t Hal::EventAna::fProcessedEvents
protected

number of processed events

Definition at line 53 of file EventAna.h.

◆ fTiers

const ECutUpdate Hal::EventAna::fTiers
protected

number of tiers in CutContainer, used during creating first cut, if number is too small some cut's will not be added and code my crash

Definition at line 70 of file EventAna.h.


The documentation for this class was generated from the following files: