28 #ifndef StEmcFilter_HH
29 #define StEmcFilter_HH
30 #include "BetheBloch.h"
31 #include "tables/St_emcStatus_Table.h"
32 #include "tables/St_smdStatus_Table.h"
53 enum McCharge { kNEGATIVE = -1, kNEUTRAL = 0, kPOSITIVE = 1, kCHARGED = 2, kALL = 3 };
54 enum EmcStatus { kBAD = 0, kGOOD = 1, kOTHER = 2};
67 Float_t mPtTower[NTOWER];
68 Float_t mETower[NTOWER];
69 Int_t mNTracksTower[NTOWER];
71 Int_t mCentrality[10];
74 St_emcStatus* mBemcRunning;
75 St_emcStatus* mBemcRunningOrig;
76 St_emcStatus* mBprsRunning;
77 St_smdStatus* mBsmdeRunning;
78 St_smdStatus* mBsmdpRunning;
84 Bool_t mHavePrimaries;
86 Float_t mEmcETotalMin;
87 Float_t mEmcETotalMax;
91 UInt_t mTriggerMask[30];
101 Bool_t mMustProjectEmc;
112 Bool_t mV0TrackProjectOnEmc;
115 Int_t mMaxTracksPerTower;
126 McCharge mMcChargeType;
127 Bool_t mMcMustProjectEmc;
146 Bool_t
accept(Int_t,Int_t,Int_t);
void setPtMax(Float_t a)
maximum pt sum from tracks in the tower
Float_t getMaxMult()
maximum multiplicity. Default is 100000.
void setOnlyHadrons(Bool_t a)
select only hadronic tracks (kTRUE, kFALSE). pi0 is excluded from the list. Default is kTRUE ...
Bool_t getMcMustProjectEmc()
requires that the McTrack is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE...
Bool_t getV0TrackProjectOnEmc()
At least one of the tracks should project on EMC patch. Default is kTRUE.
EmcStatus getEmcStatus(Int_t, Int_t)
Return EMC status (kGOOD, kBAD, kOTHER) for a given detector and bin.
void setMcChargeType(McCharge a)
select the McTrack by charge type (kNEGATIVE, kNEUTRAL, kPOSITIVE, kCHARGED, kALL). Default is kALL.
void setBsmdeStatus(St_smdStatus *st)
Set SMD-eta status (need to get the table from database)
void setMinMult(Float_t a)
minimum multiplicity. Default is 0.
void setEmcETotalMin(Float_t a)
minimum energy on EMC in GeV. Default is 0.
Float_t getEtaMin()
minimum eta of the track (momentum). Default is -10000.
Float_t getFraction(Int_t, Int_t, Int_t=0)
Return fraction of EMC live on a given detector and eta bin.
Float_t getMinMult()
minimum multiplicity. Default is 0.
void setdEdXScale(Float_t a)
scale factor to BetheBlock function to maker proper dE/dX selection. Default is 1.
Float_t getMcPtCut()
transverse momentm cut (GeV/c). Default is 0.
void setdEdXNSigma(Float_t a)
maximum number of sigmas to get a valid dE/dX id.
McCharge getMcChargeType()
select the McTrack by charge type (kNEGATIVE, kNEUTRAL, kPOSITIVE, kCHARGED, kALL). Default is kALL.
void setPointsdEdX(Int_t a)
minimum number of points to make dE/dX id. Default is 0.
void setPrintLog(Bool_t a)
Print log if event is rejected.
void setdEdXCut(Float_t a)
minimum dE/dX value to make dE/dX id. Default is 0.
void setV0Pt(Float_t a)
Set minimum pt for V0.
void setEmcPresent(Bool_t a)
requires EMC data on event (kTRUE, kFALSE). Default value is kTRUE.
void setPtCutMax(Float_t a)
maximumum transverse momentm cut (GeV/c). Default is 1000.
Int_t getMaxTracksPerTower()
maximum number of tracks projected in tower
void printCuts()
Print filter parameters.
Float_t getEmcETotalMax()
maximum energy on EMC in GeV. Default is 100000.
Bool_t getHaveVertex()
requires a valid vertex (kTRUE, kFALSE). Default is kTRUE.
Float_t getEmcETotal(StEvent *)
Return total energy on EMC.
void setSNeighbor(Bool_t a)
Seconday neighbors clear (5x5). Default is kFALSE.
void setHavePrimaries(Bool_t a)
requires at least one primary track (kTRUE, kFALSE). Default is kTRUE.
void setFitPointsCut(Int_t a)
number of fit points in the track. Default is 0.
void setdEdXPMax(Float_t a)
maximum momentum to make dE/dX id. Default is 1 GeV/c.
Int_t getNTracksTower(Int_t)
Returns number of tracks pointing to the tower with given id.
void initEmcTowers(StEvent *, Int_t=0)
Use this function before using accept(), getNTracksTower() and getPtTower() methods for towers...
~StEmcFilter()
StEmcFilter destructor.
Bool_t getOnlyHadrons()
select only hadronic tracks (kTRUE, kFALSE). pi0 is excluded from the list. Default is kTRUE ...
Bool_t getMustProjectEmc()
requires that the track is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE...
Float_t getEmcETotalMin()
minimum energy on EMC in GeV. Default is 0.
St_smdStatus * getBsmdpStatus()
get SMD-phi status (need to get the table from database)
void setMcEtaMin(Float_t a)
minimum eta of the McTrack (momentum). Default is -10000.
void setMcMustProjectEmc(Bool_t a)
requires that the McTrack is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE...
Float_t getdEdXPMax()
maximum momentum to make dE/dX id. Default is 1 GeV/c.
void setHaveVertex(Bool_t a)
requires a valid vertex (kTRUE, kFALSE). Default is kTRUE.
Monte Carlo Track class All information on a simulated track is stored in this class: kinematics...
void setMustProjectEmc(Bool_t a)
requires that the track is projected on a valid EMC tower (kTRUE, kFALSE). Default is kTRUE...
Int_t getCentralityBin()
Return centrality bin.
void clearTriggerMask()
Resets trigger masks.
void setTNeighbor(Bool_t a)
Terciary neighbors clear (7x7). Default is kFALSE.
void setPtMin(Float_t a)
minimum pt sum from tracks in the tower
Float_t getPtCut()
transverse momentm cut (GeV/c). Default is 0.
Float_t getEMax()
maximum energy in the tower
Float_t getEMin()
minimum energy in the tower
void setBsmdpStatus(St_smdStatus *st)
Set SMD-phi status (need to get the table from database)
Float_t getPtMax()
maximum pt sum from tracks in the tower
Float_t getMcEtaMax()
maximum eta of the McTrack (momentum). Default is +10000.
void setBprsStatus(St_emcStatus *st)
Set pre-shower status (need to get the table from database)
void setMaxTracksPerTower(Int_t a)
maximum number of tracks projected in tower
Bool_t getSNeighbor()
Seconday neighbors clear (5x5). Default is kFALSE.
void setBField(Float_t a)
just set the BField value for track projection in tesla. Default is 0.5 tesla.
void setPtCut(Float_t a)
transverse momentm cut (GeV/c). Default is 0.
Float_t getBField()
just get the BField value for track projection in tesla. Default is 0.5 tesla.
void setV0TrackProjectOnEmc(Bool_t a)
At least one of the tracks should project on EMC patch. Default is kTRUE.
Int_t getFitPointsCut()
number of fit points in the track. Default is 0.
Bool_t getPNeighbor()
Primary neighbors clear (3x3). Default is kTRUE.
Float_t getdEdXNSigma()
maximum number of sigmas to get a valid dE/dX id.
Float_t getMcEtaMin()
minimum eta of the McTrack (momentum). Default is -10000.
Bool_t accept(StEvent *)
Returns kTRUE/kFALSE if StEvent is accepted.
Int_t getPointsdEdX()
minimum number of points to make dE/dX id. Default is 0.
void setMcPtCut(Float_t a)
transverse momentm cut (GeV/c). Default is 0.
Float_t getV0Pt()
get minimum pt for V0
Bool_t getTrackId(StTrack *, Float_t &, Int_t &)
Return track id based on dE/dX.
Float_t getEastFraction(Int_t=1)
Return fraction of EMC live on east side of STAR.
void setDCACut(Float_t a)
DCA cut on track in cm. Default is 300000.
void setZVertexCut(Float_t a)
Z Vertex threshold in cm. Default is 20 cm.
Float_t getdEdXScale()
scale factor to BetheBlock function to maker proper dE/dX selection. Default is 1.
void setEtaMin(Float_t a)
minimum eta of the track (momentum). Default is -10000.
void addTriggerMask(UInt_t mask)
adds one trigger mask for trigger selection. Can add up to 20 masks. Default is all trigger masks...
St_emcStatus * getBprsStatus()
get pre-shower status (need to get the table from database)
void setEMin(Float_t a)
minimum energy in the tower
Float_t getdEdXCut()
minimum dE/dX value to make dE/dX id. Default is 0.
void setEtaMax(Float_t a)
maximum eta of the track (momentum). Default is +10000.
St_smdStatus * getBsmdeStatus()
get SMD-eta status (need to get the table from database)
void setMaxMult(Float_t a)
maximum multiplicity. Default is 100000.
void setEMax(Float_t a)
maximum energy in the tower
Int_t getCentrality(Int_t i)
Return centrality definition for a given bin.
void setBemcStatus(St_emcStatus *st)
Set tower status (need to get the table from database)
Float_t getPtCutMax()
maximumum transverse momentm cut (GeV/c). Default is 1000.
St_emcStatus * getBemcStatus()
get tower status (need to get the table from database)
StEmcFilter(Int_t=0)
StEmcFilter constructor.
Float_t getPtTower(Int_t)
Returns the total pt from projected tracks in tower with id.
Float_t getPtMin()
minimum pt sum from tracks in the tower
void setMcEtaMax(Float_t a)
maximum eta of the McTrack (momentum). Default is +10000.
Event data structure to hold all information from a Monte Carlo simulation. This class is the interfa...
Bool_t getHavePrimaries()
requires at least one primary track (kTRUE, kFALSE). Default is kTRUE.
Float_t getEtaMax()
maximum eta of the track (momentum). Default is +10000.
void setPNeighbor(Bool_t a)
Primary neighbors clear (3x3). Default is kTRUE.
Float_t getWestFraction(Int_t=1)
Return fraction of EMC live on west side of STAR.
void setEmcETotalMax(Float_t a)
maximum energy on EMC in GeV. Default is 100000.
Bool_t getEmcPresent()
requires EMC data on event (kTRUE, kFALSE). Default value is kTRUE.
Bool_t getTNeighbor()
Terciary neighbors clear (7x7). Default is kFALSE.
Float_t getTotalFraction(Int_t=1)
Return fraction of EMC live on STAR.
Float_t getDCACut()
DCA cut on track in cm. Default is 300000.
Float_t getZVertexCut()
Z Vertex threshold in cm. Default is 20 cm.