StRoot
1
|
#include <StEmcFilter.h>
Public Member Functions | |
StEmcFilter (Int_t=0) | |
StEmcFilter constructor. More... | |
~StEmcFilter () | |
StEmcFilter destructor. | |
void | initEmcTowers (StEvent *, Int_t=0) |
Use this function before using accept(), getNTracksTower() and getPtTower() methods for towers. This initializes all vectors necessary to these methods. | |
Bool_t | accept (StEvent *) |
Returns kTRUE/kFALSE if StEvent is accepted. | |
Bool_t | accept (StTrack *) |
Returns kTRUE/kFALSE if StTrack is accepted. | |
Bool_t | accept (StMcEvent *) |
Returns kTRUE/kFALSE if StMcEvent is accepted. | |
Bool_t | accept (StMcTrack *) |
Returns kTRUE/kFALSE if StMcTrack is accepted. | |
Bool_t | accept (StV0Vertex *) |
Returns kTRUE/kFALSE if StV0vertex is accepted. | |
Bool_t | accept (Int_t) |
Returns kTRUE/kFALSE if tower with correspondent id is accepted;. | |
Bool_t | accept (Int_t, Int_t, Int_t) |
Returns kTRUE/kFALSE if tower with correspondent module, eta and sub is accepted;. | |
Int_t | getNTracksTower (Int_t) |
Returns number of tracks pointing to the tower with given id. | |
Int_t | getNTracksTower (Int_t, Int_t, Int_t) |
Returns number of tracks pointing to the tower with given module, eta, sub. | |
Float_t | getPtTower (Int_t) |
Returns the total pt from projected tracks in tower with id. | |
Float_t | getPtTower (Int_t, Int_t, Int_t) |
Returns the total pt from projected tracks in tower with with module, eta, sub. | |
EmcStatus | getEmcStatus (Int_t, Int_t) |
Return EMC status (kGOOD, kBAD, kOTHER) for a given detector and bin. More... | |
Int_t | getCentralityBin () |
Return centrality bin. | |
Int_t | getCentrality (Int_t i) |
Return centrality definition for a given bin. | |
Bool_t | getTrackId (StTrack *, Float_t &, Int_t &) |
Return track id based on dE/dX. More... | |
Bool_t | getTrackId (StTrack *, Int_t &, Float_t &, Float_t &, Int_t &, Int_t *, Float_t *) |
Return track id based on dE/dX and nsigma for each particle. More... | |
Float_t | getEmcETotal (StEvent *) |
Return total energy on EMC. | |
Float_t | getFraction (Int_t, Int_t, Int_t=0) |
Return fraction of EMC live on a given detector and eta bin. More... | |
Float_t | getWestFraction (Int_t=1) |
Return fraction of EMC live on west side of STAR. More... | |
Float_t | getEastFraction (Int_t=1) |
Return fraction of EMC live on east side of STAR. More... | |
Float_t | getTotalFraction (Int_t=1) |
Return fraction of EMC live on STAR. More... | |
St_emcStatus * | getBemcStatus () |
get tower status (need to get the table from database) | |
St_emcStatus * | getBprsStatus () |
get pre-shower status (need to get the table from database) | |
St_smdStatus * | getBsmdeStatus () |
get SMD-eta status (need to get the table from database) | |
St_smdStatus * | getBsmdpStatus () |
get SMD-phi status (need to get the table from database) | |
Bool_t | getEmcPresent () |
requires EMC data on event (kTRUE, kFALSE). Default value is kTRUE. | |
Bool_t | getHaveVertex () |
requires a valid vertex (kTRUE, kFALSE). Default is kTRUE. | |
Bool_t | getHavePrimaries () |
requires at least one primary track (kTRUE, kFALSE). Default is kTRUE. | |
Float_t | getZVertexCut () |
Z Vertex threshold in cm. Default is 20 cm. | |
Float_t | getEmcETotalMin () |
minimum energy on EMC in GeV. Default is 0. | |
Float_t | getEmcETotalMax () |
maximum energy on EMC in GeV. Default is 100000. | |
Float_t | getMinMult () |
minimum multiplicity. Default is 0. | |
Float_t | getMaxMult () |
maximum multiplicity. Default is 100000. | |
Float_t | getBField () |
just get the BField value for track projection in tesla. Default is 0.5 tesla. | |
Float_t | getDCACut () |
DCA cut on track in cm. Default is 300000. | |
Float_t | getPtCut () |
transverse momentm cut (GeV/c). Default is 0. | |
Float_t | getPtCutMax () |
maximumum transverse momentm cut (GeV/c). Default is 1000. | |
Float_t | getEtaMin () |
minimum eta of the track (momentum). Default is -10000. | |
Float_t | getEtaMax () |
maximum eta of the track (momentum). Default is +10000. | |
Int_t | getFitPointsCut () |
number of fit points in the track. Default is 0. | |
Bool_t | getMustProjectEmc () |
requires that the track is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE. | |
Float_t | getdEdXScale () |
scale factor to BetheBlock function to maker proper dE/dX selection. Default is 1. | |
Int_t | getPointsdEdX () |
minimum number of points to make dE/dX id. Default is 0. | |
Float_t | getdEdXPMax () |
maximum momentum to make dE/dX id. Default is 1 GeV/c. | |
Float_t | getdEdXCut () |
minimum dE/dX value to make dE/dX id. Default is 0. | |
Float_t | getdEdXNSigma () |
maximum number of sigmas to get a valid dE/dX id. | |
Float_t | getV0Pt () |
get minimum pt for V0 | |
Bool_t | getV0TrackProjectOnEmc () |
At least one of the tracks should project on EMC patch. Default is kTRUE. | |
Int_t | getMaxTracksPerTower () |
maximum number of tracks projected in tower | |
Float_t | getEMin () |
minimum energy in the tower | |
Float_t | getEMax () |
maximum energy in the tower | |
Float_t | getPtMin () |
minimum pt sum from tracks in the tower | |
Float_t | getPtMax () |
maximum pt sum from tracks in the tower | |
Bool_t | getPNeighbor () |
Primary neighbors clear (3x3). Default is kTRUE. | |
Bool_t | getSNeighbor () |
Seconday neighbors clear (5x5). Default is kFALSE. | |
Bool_t | getTNeighbor () |
Terciary neighbors clear (7x7). Default is kFALSE. | |
Bool_t | getOnlyHadrons () |
select only hadronic tracks (kTRUE, kFALSE). pi0 is excluded from the list. Default is kTRUE | |
McCharge | getMcChargeType () |
select the McTrack by charge type (kNEGATIVE, kNEUTRAL, kPOSITIVE, kCHARGED, kALL). Default is kALL. | |
Bool_t | getMcMustProjectEmc () |
requires that the McTrack is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE. | |
Float_t | getMcPtCut () |
transverse momentm cut (GeV/c). Default is 0. | |
Float_t | getMcEtaMin () |
minimum eta of the McTrack (momentum). Default is -10000. | |
Float_t | getMcEtaMax () |
maximum eta of the McTrack (momentum). Default is +10000. | |
void | printCuts () |
Print filter parameters. | |
void | setBemcStatus (St_emcStatus *st) |
Set tower status (need to get the table from database) | |
void | setBprsStatus (St_emcStatus *st) |
Set pre-shower status (need to get the table from database) | |
void | setBsmdeStatus (St_smdStatus *st) |
Set SMD-eta status (need to get the table from database) | |
void | setBsmdpStatus (St_smdStatus *st) |
Set SMD-phi status (need to get the table from database) | |
void | setPrintLog (Bool_t a) |
Print log if event is rejected. | |
void | setEmcPresent (Bool_t a) |
requires EMC data on event (kTRUE, kFALSE). Default value is kTRUE. | |
void | setHaveVertex (Bool_t a) |
requires a valid vertex (kTRUE, kFALSE). Default is kTRUE. | |
void | setHavePrimaries (Bool_t a) |
requires at least one primary track (kTRUE, kFALSE). Default is kTRUE. | |
void | setZVertexCut (Float_t a) |
Z Vertex threshold in cm. Default is 20 cm. | |
void | setEmcETotalMin (Float_t a) |
minimum energy on EMC in GeV. Default is 0. | |
void | setEmcETotalMax (Float_t a) |
maximum energy on EMC in GeV. Default is 100000. | |
void | setMinMult (Float_t a) |
minimum multiplicity. Default is 0. | |
void | setMaxMult (Float_t a) |
maximum multiplicity. Default is 100000. | |
void | setBField (Float_t a) |
just set the BField value for track projection in tesla. Default is 0.5 tesla. | |
void | addTriggerMask (UInt_t mask) |
adds one trigger mask for trigger selection. Can add up to 20 masks. Default is all trigger masks. | |
void | clearTriggerMask () |
Resets trigger masks. | |
void | setDCACut (Float_t a) |
DCA cut on track in cm. Default is 300000. | |
void | setPtCut (Float_t a) |
transverse momentm cut (GeV/c). Default is 0. | |
void | setPtCutMax (Float_t a) |
maximumum transverse momentm cut (GeV/c). Default is 1000. | |
void | setEtaMin (Float_t a) |
minimum eta of the track (momentum). Default is -10000. | |
void | setEtaMax (Float_t a) |
maximum eta of the track (momentum). Default is +10000. | |
void | setFitPointsCut (Int_t a) |
number of fit points in the track. Default is 0. | |
void | setMustProjectEmc (Bool_t a) |
requires that the track is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE. | |
void | setdEdXScale (Float_t a) |
scale factor to BetheBlock function to maker proper dE/dX selection. Default is 1. | |
void | setPointsdEdX (Int_t a) |
minimum number of points to make dE/dX id. Default is 0. | |
void | setdEdXPMax (Float_t a) |
maximum momentum to make dE/dX id. Default is 1 GeV/c. | |
void | setdEdXCut (Float_t a) |
minimum dE/dX value to make dE/dX id. Default is 0. | |
void | setdEdXNSigma (Float_t a) |
maximum number of sigmas to get a valid dE/dX id. | |
void | setV0Pt (Float_t a) |
Set minimum pt for V0. | |
void | setV0TrackProjectOnEmc (Bool_t a) |
At least one of the tracks should project on EMC patch. Default is kTRUE. | |
void | setMaxTracksPerTower (Int_t a) |
maximum number of tracks projected in tower | |
void | setEMin (Float_t a) |
minimum energy in the tower | |
void | setEMax (Float_t a) |
maximum energy in the tower | |
void | setPtMin (Float_t a) |
minimum pt sum from tracks in the tower | |
void | setPtMax (Float_t a) |
maximum pt sum from tracks in the tower | |
void | setPNeighbor (Bool_t a) |
Primary neighbors clear (3x3). Default is kTRUE. | |
void | setSNeighbor (Bool_t a) |
Seconday neighbors clear (5x5). Default is kFALSE. | |
void | setTNeighbor (Bool_t a) |
Terciary neighbors clear (7x7). Default is kFALSE. | |
void | setOnlyHadrons (Bool_t a) |
select only hadronic tracks (kTRUE, kFALSE). pi0 is excluded from the list. Default is kTRUE | |
void | setMcChargeType (McCharge a) |
select the McTrack by charge type (kNEGATIVE, kNEUTRAL, kPOSITIVE, kCHARGED, kALL). Default is kALL. | |
void | setMcMustProjectEmc (Bool_t a) |
requires that the McTrack is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE. | |
void | setMcPtCut (Float_t a) |
transverse momentm cut (GeV/c). Default is 0. | |
void | setMcEtaMin (Float_t a) |
minimum eta of the McTrack (momentum). Default is -10000. | |
void | setMcEtaMax (Float_t a) |
maximum eta of the McTrack (momentum). Default is +10000. | |
This class makes general event selection for EMC data. It also gives acceptance correction factors because of limited EMC coverage. This class also can be used to perform StMcEvent and StMcTrack (simulation) selection in a limited way.
To use this class, just do:
StEmcFilter filter = new StEmcFilter();
filter->setFILTERPARAM(value);
if(filter->accept(StEvent)) .... event is accepted
if(filter->accept(StTrack*)) .... track is accepted
filter->initEmcTowers(StEvent*) if(filter->accept(module, eta, sub)) .... tower is accepted
It is also possible to use this filter to make track identification based on dE/dX information. To do this just write:
Float_t mass; Int_t geant_id; filter->GetTrackId(StTrack pointer, mass, geant_id);
The geant_id is obtained based on the dE/dX cuts set in the filter.
Definition at line 56 of file StEmcFilter.h.
StEmcFilter::StEmcFilter | ( | Int_t | mode = 0 | ) |
StEmcFilter constructor.
mode | defines the initial TOWER configuration 0 = 2001 run (default) 1 = west side only 2 = full EMC |
Definition at line 38 of file StEmcFilter.cxx.
Float_t StEmcFilter::getEastFraction | ( | Int_t | det = 1 | ) |
Return fraction of EMC live on east side of STAR.
det | is the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp) |
Definition at line 777 of file StEmcFilter.cxx.
References getFraction().
Referenced by getTotalFraction().
EmcStatus StEmcFilter::getEmcStatus | ( | Int_t | det, |
Int_t | id | ||
) |
Return EMC status (kGOOD, kBAD, kOTHER) for a given detector and bin.
det | is the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp) |
id | is the software id of the tower/strip you would like to get the status |
If no emcRunning or smdRunning table is set the default values are the 24 modules of 2001 run for towers only
Definition at line 662 of file StEmcFilter.cxx.
Referenced by accept(), getFraction(), and initEmcTowers().
Float_t StEmcFilter::getFraction | ( | Int_t | det, |
Int_t | etabin, | ||
Int_t | side = 0 |
||
) |
Return fraction of EMC live on a given detector and eta bin.
det | is the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp) |
etabin | is the etabin number |
side | is the EMC side (0 = west side, 1 = east side) |
Definition at line 735 of file StEmcFilter.cxx.
References getEmcStatus().
Referenced by getEastFraction(), and getWestFraction().
Float_t StEmcFilter::getTotalFraction | ( | Int_t | det = 1 | ) |
Return fraction of EMC live on STAR.
det | is the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp) |
Definition at line 793 of file StEmcFilter.cxx.
References getEastFraction(), and getWestFraction().
Bool_t StEmcFilter::getTrackId | ( | StTrack * | track, |
Float_t & | mass, | ||
Int_t & | id | ||
) |
Return track id based on dE/dX.
track | is the pointer to StTrack |
mass | is the mass of idetified track |
id | is the geant id of the identified track |
Definition at line 532 of file StEmcFilter.cxx.
Bool_t StEmcFilter::getTrackId | ( | StTrack * | track, |
Int_t & | nPoints, | ||
Float_t & | dEdX, | ||
Float_t & | mass, | ||
Int_t & | id, | ||
Int_t * | idOrder, | ||
Float_t * | nSigmaFinal | ||
) |
Return track id based on dE/dX and nsigma for each particle.
track | is the pointer to StTrack |
nPoints | is the number of dEdX points in the track |
dEdX | is the dE/dX value for that track |
mass | is the mass of idetified track |
id | is the geant id of the identified track |
*idOrder | is a pointer to an array with the id's in order of identification |
*nSigmaFinal | is a pointer to an array with the number of sigma for each tested particle |
nSigmaFinal | is the array that contains the number of sigmas for pions, protons, kaons and electrons (in this order) |
To the present, only pions, protons, kaons and electrons are tested.
Definition at line 553 of file StEmcFilter.cxx.
Float_t StEmcFilter::getWestFraction | ( | Int_t | det = 1 | ) |
Return fraction of EMC live on west side of STAR.
det | is the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp) |
Definition at line 761 of file StEmcFilter.cxx.
References getFraction().
Referenced by getTotalFraction().