StEEmcMixMaker Class Reference

A class for mixing pi0 candidates. More...

Inheritance diagram for StEEmcMixMaker:

StMaker StMaker

List of all members.

Public Member Functions

 StEEmcMixMaker (const Char_t *name, Int_t size=20)
void mudst (const Char_t *name)
 sets the name of the muDst maker
void points (const Char_t *name)
 sets the name of the point maker
void analysis (const Char_t *name)
 sets the name of the adc-->energy maker
Int_t numberOfCandidates ()
 returns the number of candidates
Int_t numberOfMixedCandidates ()
 returns the number of mixed-background candidates
StEEmcPair candidate (Int_t c)
 Return a specified candidate pair.
StEEmcPair mixedCandidate (Int_t m)
 Returns the specified mixed candidate pair.
Int_t Init ()
 Initialize.
Int_t Make ()
 Process.
void Clear (Option_t *opts="")
 Clear.
void sector (Int_t sector)
void trigger (Int_t trigger)
void minET (Float_t et)
 set minimum ET for pair of points
void maxZ (Float_t z)
 set maximum Zgg for pair of points
void minEpoint (Float_t m)
 minimum energy for a given point
void setTrigMode (Int_t m)
void book ()
 create 1d and 2d histograms
void fill ()
 fill 1d and 2d histograms
void fill (std::vector< TH1F * > &h, StEEmcPair pair)
 Fill pairwise distributions.
void fillQA (std::vector< TH2F * > &h, StEEmcPair pair)
 Fill qa distributions.
void range (Float_t min, Float_t max)
 Mass range for qa histograms.
void fixedVertex (Float_t x, Float_t y, Float_t z)
 Fix vertex for simple MC.
void floatVertex (Float_t x, Float_t y, Float_t z, Float_t s)
 Smear vertex.
void mixLimit (Int_t m)
 StEEmcMixMaker (const Char_t *name, Int_t size=20)
void mudst (const Char_t *name)
 sets the name of the muDst maker
void points (const Char_t *name)
 sets the name of the point maker
void analysis (const Char_t *name)
 sets the name of the adc-->energy maker
Int_t numberOfCandidates ()
 returns the number of candidates
Int_t numberOfMixedCandidates ()
 returns the number of mixed-background candidates
StEEmcPair candidate (Int_t c)
 Return a specified candidate pair.
StEEmcPair mixedCandidate (Int_t m)
Int_t Init ()
Int_t Make ()
void Clear (Option_t *opts="")
 User defined functions.
void sector (Int_t sector)
void trigger (Int_t trigger)
void minET (Float_t et)
 set minimum ET for pair of points
void maxZ (Float_t z)
 set maximum Zgg for pair of points
void minEpoint (Float_t m)
 minimum energy for a given point
void setTrigMode (Int_t m)
void book ()
 create 1d and 2d histograms
void fill ()
 fill 1d and 2d histograms
void fill (std::vector< TH1F * > &h, StEEmcPair pair)
void fillQA (std::vector< TH2F * > &h, StEEmcPair pair)
void range (Float_t min, Float_t max)
void fixedVertex (Float_t x, Float_t y, Float_t z)
void floatVertex (Float_t x, Float_t y, Float_t z, Float_t s)

Protected Member Functions

void fillPool ()
Bool_t accept (StMuEvent *)
 Accept or reject this event (trigger, qa, etc...).
Bool_t accept (StEEmcPoint &p1, StEEmcPoint &p2)
 Accept or reject point pairs.
void mixReal ()
 Mix real pairs.
void mixBackground ()
 Mix combinatoric pairs.
 ClassDef (StEEmcMixMaker, 1)
 Makes class visible to root.
void fillPool ()
Bool_t accept (StMuEvent *)
 Accept or reject this event (trigger, qa, etc...).
void mixReal ()
 Mix real pairs.
void mixBackground ()
 Mix combinatoric pairs.
 ClassDef (StEEmcMixMaker, 1)

Protected Attributes

TVector3 mFixedVertex
Float_t mSigmaVertex
Float_t mETcut
Float_t mZcut
Float_t mEpoint
Int_t mTrigMode
Int_t mMixLimits
std::vector< Int_t > mSectorList
std::vector< Int_t > mTriggerList
std::vector< TH1F * > mH1
 1D histos
std::vector< TH2F * > mH2
 2D histos
std::vector< TH1F * > mH1real
 1D real histos
std::vector< TH2F * > mH2real
 2D real histos
std::vector< TH1F * > mH1mix
 1D mixed histos
std::vector< TH2F * > mH2mix
 2D mixed histos
StMuDstMakermMuDstMaker
 Pointer to MuDst.
StEEmcPointMakermEEpoints
 Pointer to points.
StEEmcA2EMakermEEanalysis
 Pointer to ADC 2 energy.
TString mMuDstMakerName
 MuDst name.
TString mPointMakerName
 Point maker name.
TString mAnalysisName
 Analaysis name.
EEmcGeomSimplemEEmcTow
 Pointer to tower geom.
StEEmcPointVec_t mPoints
 Vector of points to mix into X-->gamma gamma.
std::vector< StEEmcPointVec_t > mPool
StEEmcPairVec_t mCandidates
 Point pairs mixed on each event.
StEEmcPairVec_t mBackground
 Background pairs mixed on each event.
Float_t mMinMass
 Min and max mass for gated quantities.
Float_t mMaxMass
Int_t mPoolSize
 Size of mixed event pool.
TRandom * mRandom
 Random number generator for event mixing.


Detailed Description

A class for mixing pi0 candidates.

This class takes as input points found using StEEmcPointMaker or a derivative class. We then loop over all possible pairs of points to find pi0 (eta) --> gamma gamma candidates.

Points from each event are stored in a E_T ranked pool, which we then mix to form combinatoric background candidates. In the future we may create a separate maker for mixed events.

The code allows two cuts:

  1. Trigger list -- the user may specify a list of triggers to process
  2. Sector limits -- by default, points are mixed if in the same sector. The user may specify other sector-wise limits.

Definition at line 22 of file StEEmcMixMaker.h.


Constructor & Destructor Documentation

StEEmcMixMaker::StEEmcMixMaker ( const Char_t *  name,
Int_t  size = 20 
)

Default constructor

Parameters:
name Name of the maker, passed to StMaker constructor
size Size of the mixed-event pool

Defaults

initialize background pool

Definition at line 45 of file StEEmcMixMaker.cxx.

References maxZ(), mEEmcTow, mFixedVertex, minEpoint(), minET(), mMixLimits, mPool, mPoolSize, mRandom, mSigmaVertex, mTrigMode, points(), and range().

StEEmcMixMaker::StEEmcMixMaker ( const Char_t *  name,
Int_t  size = 20 
)

Default constructor

Parameters:
name Name of the maker, passed to StMaker constructor
size Size of the mixed-event pool


Member Function Documentation

Bool_t StEEmcMixMaker::accept ( StMuEvent event  )  [protected]

Accept or reject this event (trigger, qa, etc...).

no triggers in list, assume wide open

Definition at line 277 of file StEEmcMixMaker.cxx.

References mH1, and mTriggerList.

Referenced by Make().

void StEEmcMixMaker::fillPool (  )  [protected]

-- fills mixed event pool

get the high-tower in the eemc

get a reference to the list of points with the indexed by trigger

reverse the list of old points

add points from the current event

make sure point is beneath a valid tower

high-tower trigger mode, reject if it's the high tower

push point into vector

reverse yet again

and truncate to the maximum pool size

Definition at line 395 of file StEEmcMixMaker.cxx.

References StEEmcElement::adc(), StEEmcTower::etabin(), EEmcGeomSimple::getTower(), StEEmcA2EMaker::hightower(), mEEanalysis, mEEmcTow, mPoints, mPool, mPoolSize, mTrigMode, points(), StEEmcTower::sector(), and StEEmcTower::subsector().

Referenced by Make().

Int_t StEEmcMixMaker::Init (  )  [virtual]

Initialize.

initialize histograms

Reimplemented from StMaker.

Definition at line 73 of file StEEmcMixMaker.cxx.

References book(), mAnalysisName, mEEanalysis, mEEpoints, mMuDstMaker, mMuDstMakerName, and mPointMakerName.

Int_t StEEmcMixMaker::Make (  )  [virtual]

The Make() method is the one responsible for calling the maker's InitRun(). Note that that InitRun() is called for real data and if both of the following are true

  • a header exists
  • the run number changes

This is the ONLY place calling the InitRun() routine.

check privilege to skip event

Reimplemented from StMaker.

Int_t StEEmcMixMaker::Make (  )  [virtual]

Process.

Check trigger, run QA, etc...

Get the list of points

Not enough points in event

Construct all pairs of real events

Construct combinatoric background

fill histograms

Fill the event pool with points from current event.

Reimplemented from StMaker.

Definition at line 89 of file StEEmcMixMaker.cxx.

References accept(), fill(), fillPool(), kStOK, mEEpoints, mH1, mixBackground(), mixReal(), mMuDstMaker, mPoints, and StEEmcPointMaker::points().

void StEEmcMixMaker::mixBackground (  )  [protected]

Mix combinatoric pairs.

get the high-tower in the eemc

get a reference to the list of points with the indexed by trigger

loop over all points in current event

loop over all points in ranked pool

Require points to be in specified sectors

same sector

add to background

Definition at line 192 of file StEEmcMixMaker.cxx.

References StEEmcElement::adc(), StEEmcA2EMaker::hightower(), mBackground, mEEanalysis, mFixedVertex, mMuDstMaker, mPoints, mPool, mRandom, mSectorList, mSigmaVertex, points(), and StEEmcPoint::sector().

Referenced by Make().

void StEEmcMixMaker::mixLimit ( Int_t  m  )  [inline]

By default, only points in the same sector are mixed toghether. Setting mMixLimits>0 allow points to be mixed which are mMixLimits sectors away.

Definition at line 102 of file StEEmcMixMaker.h.

References mMixLimits.

void StEEmcMixMaker::mixReal (  )  [protected]

Mix real pairs.

Verify that we have a valid (or user specified) event vertex

mix all pairs of points, avoiding self-pairs

Require points to be in specified sectors

same sector

Definition at line 132 of file StEEmcMixMaker.cxx.

References mCandidates, mFixedVertex, mMuDstMaker, mPoints, mRandom, mSectorList, mSigmaVertex, and StEEmcPoint::sector().

Referenced by Make().

void StEEmcMixMaker::sector ( Int_t  sector  ) 

add a sector to the list of sectors to process

Parameters:
sector An EEmc sector, [0,11]

void StEEmcMixMaker::sector ( Int_t  sector  )  [inline]

add a sector to the list of sectors to process

Parameters:
sector An EEmc sector, [0,11]

Definition at line 188 of file StEEmcMixMaker.h.

References mSectorList.

void StEEmcMixMaker::setTrigMode ( Int_t  m  )  [inline]

Sets the trigger mode for combinatoric background mixing. Points will be saved from event-to-event in a "pool". By default, any or all points in an event can get into the pool (default=0, minbias). If high-tower is selected, we do not allow points beneath the highest tower in the event (the triggered tower) to enter the pool. If jet-patch is selected... well, we don't know how to handle this yet so it behaves like minbias.

Parameters:
m,: 0=minbias, 1=high-tower, 2=jet patch

Definition at line 76 of file StEEmcMixMaker.h.

References mTrigMode.

void StEEmcMixMaker::setTrigMode ( Int_t  m  )  [inline]

Sets the trigger mode for combinatoric background mixing. Points will be saved from event-to-event in a "pool". By default, any or all points in an event can get into the pool (default=0, minbias). If high-tower is selected, we do not allow points beneath the highest tower in the event (the triggered tower) to enter the pool. If jet-patch is selected... well, we don't know how to handle this yet so it behaves like minbias.

Parameters:
m,: 0=minbias, 1=high-tower, 2=jet patch

Definition at line 80 of file StEEmcMixMaker.h.

References mTrigMode.

void StEEmcMixMaker::trigger ( Int_t  trigger  ) 

add a trigger to the list of triggers to process

Parameters:
trigger An offline trigger ID

void StEEmcMixMaker::trigger ( Int_t  trigger  )  [inline]

add a trigger to the list of triggers to process

Parameters:
trigger An offline trigger ID

Definition at line 189 of file StEEmcMixMaker.h.

References mTriggerList.


Member Data Documentation

Float_t StEEmcMixMaker::mEpoint [protected]

-- min epoint

Definition at line 112 of file StEEmcMixMaker.h.

Referenced by minEpoint().

Float_t StEEmcMixMaker::mETcut [protected]

-- min ET

Definition at line 110 of file StEEmcMixMaker.h.

Referenced by minET().

TVector3 StEEmcMixMaker::mFixedVertex [protected]

-- fixed vertex

Definition at line 107 of file StEEmcMixMaker.h.

Referenced by fixedVertex(), mixBackground(), mixReal(), and StEEmcMixMaker().

Int_t StEEmcMixMaker::mMixLimits [protected]

-- Allow mixing of points mMixLimits sectors away

Definition at line 117 of file StEEmcMixMaker.h.

Referenced by accept(), mixLimit(), and StEEmcMixMaker().

std::vector< StEEmcPointVec_t > StEEmcMixMaker::mPool [protected]

Pool of points saved from event to event for background mixing. We rank each event by the adc response of the high tower, in bins 100 adc counts wide.

Definition at line 156 of file StEEmcMixMaker.h.

Referenced by fillPool(), mixBackground(), and StEEmcMixMaker().

std::vector< Int_t > StEEmcMixMaker::mSectorList [protected]

-- list of sectors to process

Definition at line 119 of file StEEmcMixMaker.h.

Referenced by mixBackground(), mixReal(), and sector().

Float_t StEEmcMixMaker::mSigmaVertex [protected]

-- smear fixed vertex

Definition at line 108 of file StEEmcMixMaker.h.

Referenced by floatVertex(), mixBackground(), mixReal(), and StEEmcMixMaker().

std::vector< Int_t > StEEmcMixMaker::mTriggerList [protected]

-- list of triggers to process

Definition at line 120 of file StEEmcMixMaker.h.

Referenced by accept(), and trigger().

Int_t StEEmcMixMaker::mTrigMode [protected]

-- trigger mode for mixing

Definition at line 114 of file StEEmcMixMaker.h.

Referenced by fillPool(), setTrigMode(), and StEEmcMixMaker().

Float_t StEEmcMixMaker::mZcut [protected]

-- min Z

Definition at line 111 of file StEEmcMixMaker.h.

Referenced by maxZ().


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

Generated on Fri Feb 10 04:28:03 2012 for StRoot by  doxygen 1.5.9