StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
StEmcFilter Class Reference

#include <StEmcFilter.h>

Inheritance diagram for StEmcFilter:

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.
 

Detailed Description

Author
Alexandre A. P. Suaide
Marcia M. de Moura

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.

Constructor & Destructor Documentation

StEmcFilter::StEmcFilter ( Int_t  mode = 0)

StEmcFilter constructor.

Parameters
modedefines the initial TOWER configuration 0 = 2001 run (default) 1 = west side only 2 = full EMC

Definition at line 38 of file StEmcFilter.cxx.

Member Function Documentation

Float_t StEmcFilter::getEastFraction ( Int_t  det = 1)

Return fraction of EMC live on east side of STAR.

Parameters
detis 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.

Parameters
detis the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp)
idis 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.

Parameters
detis the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp)
etabinis the etabin number
sideis 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.

Parameters
detis 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.

Parameters
trackis the pointer to StTrack
massis the mass of idetified track
idis 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.

Parameters
trackis the pointer to StTrack
nPointsis the number of dEdX points in the track
dEdXis the dE/dX value for that track
massis the mass of idetified track
idis the geant id of the identified track
*idOrderis a pointer to an array with the id's in order of identification
*nSigmaFinalis a pointer to an array with the number of sigma for each tested particle
nSigmaFinalis 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.

Parameters
detis the detector number (1 = bemc, 2 = bprs, 3 = bsmde, 4 = bsmdp)

Definition at line 761 of file StEmcFilter.cxx.

References getFraction().

Referenced by getTotalFraction().


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