NCFS-Pack
A generic (astro)particle physics analysis framework
 
Loading...
Searching...
No Matches
NcEventSelector.h
Go to the documentation of this file.
1#ifndef NcEventSelector_h
2#define NcEventSelector_h
3// Copyright(c) 2007 NCFS/IIHE, All Rights Reserved.
4// See cxx source for full Copyright notice.
5
6#include "NcJob.h"
7#include "NcAstrolab.h"
8#include "NcEvent.h"
9
11
13{
14 public :
15 NcEventSelector(const char* name="NcEventSelector",const char* title="Event selection"); // Constructor
16 virtual ~NcEventSelector(); // Destructor
17 NcEventSelector(const NcEventSelector& q); // Copy constructor
18 virtual TObject* Clone(const char* name="") const; // Make a deep copy and provide its pointer
19 virtual void Exec(Option_t* opt); // Event selection
20 void SetSelector(TString type,Int_t flag=1); // Specify selection types to be used
21 void SetLogic(TString type); // Set type of decision logic
22 void UseTracks(TString name,Int_t n=-1); // Specify track names to be used
23 void SetAstroMatch(Double_t da,Double_t dt,TString dir); // Set parameters for Astro matching
24 void SetRange(TString type,TString obs,Double_t low,Double_t up); // Set range of various observables
25 void SetRange(TString type,TString obs,TString name,Int_t nlow,Int_t nup); // Set range of various observables
26
27 protected :
28 Int_t fFirst; // Flag to indicate first invokation
29 NcEvent* fEvt; // Pointer to the current event structure
30 NcDevice* fParams; // The device containing all parameter settings and final select flag
31 Int_t fTrackflag; // Flag to indicate usage of individual track selection criteria
32 Int_t fEventflag; // Flag to indicate usage of total event selection criteria
33 Int_t fAstroflag; // Flag to indicate usage of Astrolab selection criteria
34 Int_t fLogic; // Decision logic (0=unknown 1=and 2=or)
35 TObjArray* fUseNames; // The track names to be used
36 TArrayI* fUseNtk; // The max. numbers of the various track names to be used
37 Int_t fSelect; // Event selection flag (-1=reject 0=unknown 1=accept)
38 Double_t fAstroDa; // Maximum angular distance (deg.) w.r.t. the reference object
39 Double_t fAstroDt; // Maximum absolute time difference (sec.) w.r.t. the reference signal
40 Int_t fAstroDir; // Direction flag for pointing to external objects
41 Float_t fTrackCharges[2]; // Track charge range selections
42 Float_t fTrackMasses[2]; // Track mass range selections
43 Double_t fTrackMomenta[6]; // Track momentum range selections
44 Double_t fTrackEnergies[6]; // Track energy range selections
45 Double_t fTrackRapidities[4]; // Track rapidity range selections
46 Int_t fTrackDevices[2]; // Range of number of track associated devices
47 TString fTrackDevClass; // (Derived) class name of track associated devices
48 Float_t fEventCharges[2]; // Event charge range selections
49 Float_t fEventVetos[2]; // Event veto level 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(NcEventSelector,2) // TTask derived class to perform generic event selection
62};
63#endif
NcAstrolab(const char *name="User", const char *title="Virtual Lab for general use")
Signal (Hit) handling of a generic device.
Definition NcDevice.h:14
Creation and investigation of an NCFS generic event structure.
Definition NcEvent.h:15
Float_t fTrackMasses[2]
Double_t fTrackEnergies[6]
NcEventSelector(const char *name="NcEventSelector", const char *title="Event selection")
void SetLogic(TString type)
void Track(Int_t mode)
TObjArray * fUseNames
void SetAstroMatch(Double_t da, Double_t dt, TString dir)
Double_t fEventEnergies[6]
virtual void Exec(Option_t *opt)
Double_t fTrackRapidities[4]
Double_t fTrackMomenta[6]
Float_t fEventCharges[2]
Double_t fEventMomenta[6]
Float_t fEventMasses[2]
Float_t fEventVetos[2]
Int_t fEventTracks[10]
Float_t fTrackCharges[2]
void SetRange(TString type, TString obs, Double_t low, Double_t up)
virtual TObject * Clone(const char *name="") const
void SetSelector(TString type, Int_t flag=1)
void UseTracks(TString name, Int_t n=-1)