]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RALICE/AliEventSelector.h
Fixing T0 compilation
[u/mrichter/AliRoot.git] / RALICE / AliEventSelector.h
CommitLineData
caa58e1a 1#ifndef ALIEVENTSELECTOR_H
2#define ALIEVENTSELECTOR_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7// $Id$
8
9#include "AliJob.h"
10#include "AliAstrolab.h"
11#include "AliEvent.h"
12
13class AliEventSelector : public AliAstrolab
14{
15 public :
16 AliEventSelector(const char* name="AliEventSelector",const char* title="Event selection"); // Constructor
17 virtual ~AliEventSelector(); // Destructor
18 AliEventSelector(const AliEventSelector& q); // Copy constructor
19 virtual TObject* Clone(const char* name="") const; // Make a deep copy and provide its pointer
20 virtual void Exec(Option_t* opt); // Event selection
21 void SetSelector(TString type,Int_t flag=1); // Specify selection types to be used
22 void SetLogic(TString type); // Set type of decision logic
23 void UseTracks(TString name,Int_t n=-1); // Specify track names to be used
24 void SetAstroMatch(Double_t da,Double_t dt,TString dir); // Set parameters for Astro matching
25 void SetRange(TString type,TString obs,Double_t low,Double_t up); // Set range of various observables
26 void SetRange(TString type,TString obs,TString name,Int_t nlow,Int_t nup); // Set range of various observables
27
28 protected :
29 Int_t fFirst; // Flag to indicate first invokation
30 AliEvent* fEvt; // Pointer to the current event structure
31 AliDevice* fParams; // The device containing all parameter settings and final select flag
32 Int_t fTrackflag; // Flag to indicate usage of individual track selection criteria
33 Int_t fEventflag; // Flag to indicate usage of total event selection criteria
34 Int_t fAstroflag; // Flag to indicate usage of Astrolab selection criteria
35 Int_t fLogic; // Decision logic (0=unknown 1=and 2=or)
36 TObjArray* fUseNames; // The track names to be used
37 TArrayI* fUseNtk; // The max. numbers of the various track names to be used
38 Int_t fSelect; // Event selection flag (-1=reject 0=unknown 1=accept)
39 Double_t fAstroDa; // Maximum angular distance (deg.) w.r.t. the reference object
40 Double_t fAstroDt; // Maximum absolute time difference (sec.) w.r.t. the reference signal
41 Int_t fAstroDir; // Direction flag for pointing to external objects
42 Float_t fTrackCharges[2]; // Track charge range selections
43 Float_t fTrackMasses[2]; // Track mass range selections
44 Double_t fTrackMomenta[6]; // Track momentum range selections
45 Double_t fTrackEnergies[6]; // Track energy range selections
46 Double_t fTrackRapidities[4]; // Track rapidity range selections
47 Int_t fTrackDevices[2]; // Range of number of track associated devices
48 TString fTrackDevClass; // (Derived) class name of track associated devices
49 Float_t fEventCharges[2]; // Event charge range selections
50 Float_t fEventMasses[2]; // Event mass range selections
51 Double_t fEventMomenta[6]; // Event momentum range selections
52 Double_t fEventEnergies[6]; // Event energy range selections
53 Int_t fEventDevices[2]; // Range of number of event associated devices
54 TString fEventDevClass; // (Derived) class name of event associated devices
55 Int_t fEventTracks[10]; // Range of number of various track types
56 TString fEventTrkName; // Name of the tracks for total number of tracks selection
57 void Track(Int_t mode); // Check criteria for individual track observables
58 void Event(); // Check criteria for total event observables
59 void Astro(); // Check for matches with external (astrophysical) objects
60
61 ClassDef(AliEventSelector,1) // TTask derived class to perform generic event selection
62};
63#endif