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

EEmc ADC –> energy maker. More...

Inheritance diagram for StEEmcA2EMaker:
StMaker StMaker TDataSet TDataSet

Public Member Functions

 StEEmcA2EMaker (const Char_t *name="mEEanalysis")
 
virtual Int_t Init ()
 Initialize. More...
 
virtual Int_t Make ()
 Read and process one event. More...
 
virtual void Clear (Option_t *opts="")
 Clear the maker for next event. More...
 
void threshold (Float_t cut, Int_t layer)
 
void database (const Char_t *)
 Set the name of the EEMC database, init obtains pointer.
 
void source (const Char_t *, Int_t=0)
 
StEEmcTowerVec_t & towers (Int_t layer=0)
 
const StEEmcTowerVec_t & towers (Int_t layer=0) const
 
StEEmcStripVec_t & strips (Int_t sec, Int_t pln)
 Returns a vector of hit strips, given the sector and plane.
 
const StEEmcStripVec_t & strips (Int_t sec, Int_t pln) const
 
Int_t numberOfHitTowers (Int_t layer) const
 
StEEmcTowerhittower (Int_t hit, Int_t layer)
 
const StEEmcTowerhittower (Int_t hit, Int_t layer) const
 
StEEmcTowertower (Int_t index, Int_t layer=0)
 
const StEEmcTowertower (Int_t index, Int_t layer=0) const
 
StEEmcTowertower (Int_t sector, Int_t subsector, Int_t etabin, Int_t layer=0)
 
const StEEmcTowertower (Int_t sector, Int_t subsector, Int_t etabin, Int_t layer=0) const
 
StEEmcTowertower (TVector3 &r, Int_t layer)
 
const StEEmcTowertower (TVector3 &r, Int_t layer) const
 
Int_t phibin (Int_t sector, Int_t subsector) const
 Given tower sector, subsector, translate to phibin.
 
Int_t index (Int_t sector, Int_t subsector, Int_t etabin) const
 Given tower sector, subsector, etabin, translate into index.
 
StEEmcTowerhightower (Int_t layer=0)
 
const StEEmcTowerhightower (Int_t layer=0) const
 
Int_t numberOfHitStrips (Int_t sector, Int_t plane) const
 
StEEmcStriphitstrip (Int_t sec, Int_t pl, Int_t hit)
 
const StEEmcStriphitstrip (Int_t sec, Int_t pl, Int_t hit) const
 
StEEmcStripstrip (Int_t sector, Int_t plane, Int_t strip)
 
const StEEmcStripstrip (Int_t sector, Int_t plane, Int_t strip) const
 
Float_t energy (Int_t sector, Int_t layer) const
 
Float_t energy (Int_t layer) const
 Return energy summed over full endcap.
 
Int_t numberOfHits (Int_t sector, Int_t layer) const
 
void scale (Float_t s)
 
virtual const char * GetCVS () const
 
 StEEmcA2EMaker (const Char_t *name="mEEanalysis")
 
Int_t Init ()
 
Int_t Make ()
 
void Clear (Option_t *opts="")
 User defined functions.
 
void threshold (Float_t cut, Int_t layer)
 
void database (const Char_t *dbname)
 Set the name of the EEMC database, init obtains pointer.
 
void source (const Char_t *name, Int_t type=0)
 
StEEmcTowerVec_t towers (Int_t layer=0)
 
StEEmcStripVec_t strips (Int_t sec, Int_t pln)
 Returns a vector of hit strips, given the sector and plane.
 
Int_t numberOfHitTowers (Int_t layer)
 
StEEmcTower hittower (Int_t hit, Int_t layer)
 
StEEmcTower tower (Int_t index, Int_t layer=0)
 
StEEmcTower tower (Int_t sector, Int_t subsector, Int_t etabin, Int_t layer=0)
 
StEEmcTowertower (TVector3 &r, Int_t layer)
 
Int_t phibin (Int_t sector, Int_t subsector)
 Given tower sector, subsector, translate to phibin.
 
Int_t index (Int_t sector, Int_t subsector, Int_t etabin)
 Given tower sector, subsector, etabin, translate into index.
 
StEEmcTower hightower (Int_t layer=0)
 
Int_t numberOfHitStrips (Int_t sector, Int_t plane)
 
StEEmcStrip hitstrip (Int_t sec, Int_t pl, Int_t hit)
 
StEEmcStrip strip (Int_t sector, Int_t plane, Int_t strip)
 
Float_t energy (Int_t sec, Int_t layer)
 
Float_t energy (Int_t layer)
 Return energy summed over full endcap.
 
Int_t numberOfHits (Int_t sec, Int_t layer)
 
void scale (Float_t s)
 
- Public Member Functions inherited from StMaker
 StMaker (const char *name="", const char *dummy=0)
 Constructor & Destructor.
 
virtual Int_t IsChain () const
 
virtual Int_t InitRun (Int_t runumber)
 
virtual void StartMaker ()
 
virtual Int_t IMake (Int_t number)
 
virtual void EndMaker (Int_t ierr)
 
virtual Int_t Finish ()
 
virtual Int_t FinishRun (Int_t oldrunumber)
 
virtual void FatalErr (Int_t Ierr, const char *Com)
 
virtual void PrintInfo ()
 
virtual void NotifyMe (const char *, const void *)
 
virtual void AddMaker (StMaker *mk)
 
virtual void MakeDoc (const TString &, const TString &, Bool_t)
 
virtual void AddData (TDataSet *data, const char *dir=".data")
 User methods.
 
virtual TDataSetAddObj (TObject *obj, const char *dir, int owner=1)
 
virtual TDataSetToWhiteBoard (const char *name, void *dat)
 
virtual TDataSetToWhiteBoard (const char *name, void *dat, void *del)
 
virtual TDataSetToWhiteBoard (const char *name, TObject *dat, Int_t owner)
 
virtual TDataSetToWhiteConst (const char *name, TObject *dat)
 
virtual TDataSetToWhiteConst (const char *name, void *dat)
 
virtual TDataSetWhiteBoard (const char *name, void *v=0) const
 
virtual Int_t Skip (Int_t nskip)
 
virtual void AddConst (TDataSet *data=0)
 
virtual void AddHist (TH1 *h, const char *dir=0)
 
virtual void AddGarb (TDataSet *data=0)
 
virtual void AddRunco (TDataSet *data=0)
 
virtual void AddRunco (Double_t par, const char *name, const char *comment)
 
void AddRunCont (TDataSet *data=0)
 
virtual TList * GetHistList () const
 
virtual TH1 * GetHist (const char *histName) const
 
virtual StMakercd ()
 
virtual StMakerCd ()
 
virtual Int_t GetNumber () const
 STAR methods.
 
virtual void SetNumber (Int_t number)
 
virtual StMakerGetParentChain () const
 
virtual Int_t GetIventNumber () const
 Returns the current event number.
 
virtual void SetIventNumber (Int_t iv)
 
virtual Int_t GetEventNumber () const
 
virtual Int_t GetRunNumber () const
 Returns the current RunNumber.
 
virtual const TDatime & GetDateTime () const
 
virtual const TDatime & GetDBTime () const
 
virtual void SetDateTime (Int_t idat, Int_t itim)
 
virtual StEvtHddrGetEvtHddr () const
 
virtual Int_t GetDate () const
 
virtual Int_t GetTime () const
 
virtual const char * GetEventType () const
 
virtual TDataSetGetData (const char *name, const char *dir=".data") const
 
virtual TDataSetGetData () const
 
virtual TDataSetGetConst () const
 
virtual TDataSetGetDataSet (const char *logInput) const
 
virtual TDataSetDataSet (const char *logInput) const
 
virtual TDataSetGetInputDS (const char *logInput) const
 
virtual TDataSetGetDataBase (const char *logInput, const TDatime *td=0)
 
virtual TDataSetGetInputDB (const char *logInput)
 
virtual Int_t GetDebug () const
 
virtual Int_t Debug () const
 
virtual Int_t GetMakeReturn () const
 
virtual TList * Histograms () const
 
virtual TString GetAlias (const char *log, const char *dir=".aliases") const
 
virtual TString GetInput (const char *log) const
 
virtual TString GetOutput (const char *log) const
 
virtual TList * GetMakeList () const
 
virtual StMakerGetParentMaker () const
 
virtual StMakerGetMaker (const char *mkname)
 
virtual StMakerGetMakerInheritsFrom (const char *mktype) const
 
virtual Bool_t IsActive ()
 
virtual StMakerMaker (const char *mkname)
 
virtual void SetBIT (EMakerStatus k)
 Maker Status Bits.
 
virtual void ResetBIT (EMakerStatus k)
 
virtual Bool_t TestBIT (EMakerStatus k)
 
virtual void SetActive (Bool_t k=kTRUE)
 Setters for flags and switches.
 
virtual void SetDebug (Int_t l=1)
 
virtual void SetDEBUG (Int_t l=1)
 
virtual void SetFlavor (const char *flav, const char *tabname)
 
virtual void SetMakeReturn (Int_t ret)
 
virtual void SetAlias (const char *log, const char *act, const char *dir=".aliases")
 
virtual void AddAlias (const char *log, const char *act, const char *dir=".aliases")
 
virtual void SetInput (const char *log, const char *act)
 
virtual void SetOutput (const char *log, const char *act)
 
virtual void SetOutput (const char *log, TDataSet *ds)
 
virtual void SetOutput (TDataSet *ds)
 
virtual void SetOutputAll (TDataSet *ds, Int_t level=1)
 
virtual void SetMode (Int_t mode=0)
 
virtual void SetNotify (const char *about, StMaker *mk)
 
virtual Int_t GetMode ()
 
virtual Int_t GetDebug ()
 
virtual const StChainOptGetChainOpt () const
 
virtual TFile * GetTFile () const
 
virtual void NotifyEm (const char *about, const void *ptr)
 
virtual Double_t RealTime ()
 
virtual Double_t CpuTime ()
 
virtual void StartTimer (Bool_t reset=kFALSE)
 
virtual void StopTimer ()
 
virtual void PrintTimer (Option_t *option="")
 
virtual void PrintTotalTime ()
 
virtual const char * GetName () const
 special overload
 
TObject * GetDirObj (const char *dir) const
 
void SetDirObj (TObject *obj, const char *dir)
 
Int_t SetAttr (const char *key, const char *val, const char *to=".")
 
Int_t SetAttr (const char *key, Int_t val, const char *to=".")
 
Int_t SetAttr (const char *key, UInt_t val, const char *to=".")
 
Int_t SetAttr (const char *key, Double_t val, const char *to=".")
 
Int_t SetAttr (const StMaker *mk)
 
Int_t RemAttr (const char *key, const char *to=".")
 
const TAttrGetAttr () const
 
Int_t IAttr (const char *key) const
 
UInt_t UAttr (const char *key) const
 
Double_t DAttr (const char *key) const
 
const char * SAttr (const char *key) const
 
void PrintAttr () const
 
- Public Member Functions inherited from TDataSet
 TDataSet (const char *name="", TDataSet *parent=0, Bool_t arrayFlag=kFALSE)
 
 TDataSet (const TDataSet &src, EDataSetPass iopt=kAll)
 
 TDataSet (TNode &src)
 This copy ctor has been depricated (left for thwe sake of the backweard compatibility)
 
virtual ~TDataSet ()
 std::cout << "Default destructor for " << GetName() << " - " << GetTitle() << std::endl;
 
virtual void Add (TDataSet *dataset)
 
virtual void AddAt (TDataSet *dataset, Int_t idx=0)
 
virtual void AddAtAndExpand (TDataSet *dataset, Int_t idx=0)
 
virtual void AddFirst (TDataSet *dataset)
 Add TDataSet object at the beginning of the dataset list of this dataset.
 
virtual void AddLast (TDataSet *dataset)
 Add TDataSet object at the end of the dataset list of this dataset.
 
TDataSetAt (Int_t idx) const
 
virtual void Browse (TBrowser *b)
 Browse this dataset (called by TBrowser).
 
virtual TObject * Clone (const char *newname="") const
 the custom implementation fo the TObject::Clone
 
virtual void Delete (Option_t *opt="")
 
virtual TDataSetFind (const char *path) const
 
virtual TDataSetFindByName (const char *name, const char *path="", Option_t *opt="") const
 
virtual TDataSetFindByPath (const char *path) const
 Aliase for TDataSet::Find(const Char_t *path) method.
 
virtual TDataSetFindByTitle (const char *title, const char *path="", Option_t *opt="") const
 
TObject * FindObject (const char *name) const
 
TObject * FindObject (const TObject *o) const
 
virtual TDataSetFirst () const
 Return the first object in the list. Returns 0 when list is empty.
 
TObjArray * GetObjArray () const
 
virtual TSeqCollection * GetCollection () const
 
TList * GetList () const
 
virtual Int_t GetListSize () const
 
TObject * GetMother () const
 
virtual TObject * GetObject () const
 The depricated method (left here for the sake of the backward compatibility)
 
virtual TDataSetGetParent () const
 
virtual Long_t HasData () const
 
virtual TDataSetInstance () const
 
virtual TString Path () const
 return the full path of this data set
 
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *), Int_t depth=0)
 
virtual EDataSetPass Pass (EDataSetPass(*callback)(TDataSet *, void *), void *user, Int_t depth=0)
 
virtual void PrintContents (Option_t *opt="") const
 
virtual Int_t Purge (Option_t *opt="")
 
virtual void Remove (TDataSet *set)
 Remiove the "set" from this TDataSet.
 
virtual TDataSetRemoveAt (Int_t idx)
 
virtual void SetMother (TDataSet *parent=0)
 
virtual void SetObject (TObject *obj)
 The depricated method (left here for the sake of the backward compatibility)
 
virtual void SetParent (TDataSet *parent=0)
 
virtual void SetWrite ()
 
virtual void Shunt (TDataSet *newParent=0)
 
virtual void Sort ()
 Sort recursively all members of the TDataSet with TList::Sort method.
 
virtual Bool_t IsEmpty () const
 return kTRUE if the "internal" collection has no member
 
virtual Bool_t IsFolder () const
 
virtual Bool_t IsMarked () const
 
virtual Bool_t IsThisDir (const char *dirname, int len=-1, int ignorecase=0) const
 
virtual TDataSetLast () const
 Return the last object in the list. Returns 0 when list is empty.
 
virtual void ls (Option_t *option="") const
 
virtual void ls (Int_t depth) const
 
void Mark ()
 
void UnMark ()
 
void MarkAll ()
 Mark all members of this dataset.
 
void UnMarkAll ()
 UnMark all members of this dataset.
 
void InvertAllMarks ()
 Invert mark bit for all members of this dataset.
 
void Mark (UInt_t flag, EBitOpt reset=kSet)
 
virtual TDataSetNext () const
 
virtual TDataSetPrev () const
 
virtual void Update ()
 
virtual void Update (TDataSet *set, UInt_t opt=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0)
 
virtual Int_t Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const
 

Protected Member Functions

Bool_t readData ()
 
Bool_t fillFromMuDst (const StMuEmcCollection *emc)
 
Bool_t fillFromSt (const StEmcCollection *emc)
 If StEvent is used, we will fill additional parts of StEEmcElement. More...
 
Float_t addTowerHit (Int_t sec, Int_t sub, Int_t eta, Float_t adc, Int_t layer)
 
Float_t addSmdHit (Int_t sec, Int_t plane, Int_t str, Float_t adc)
 
 ClassDef (StEEmcA2EMaker, 1)
 Makes class available to root.
 
Bool_t readData ()
 
Bool_t readMuDst ()
 
Bool_t readStEvent ()
 
Bool_t readEzt ()
 
Bool_t fillFromMuDst (StMuEmcCollection *emc)
 
Bool_t fillFromSt (StEmcCollection *emc)
 If StEvent is used, we will fill additional parts of StEEmcElement. More...
 
void addTowerHit (Int_t sec, Int_t sub, Int_t eta, Float_t adc, Int_t layer)
 
void addSmdHit (Int_t sec, Int_t plane, Int_t str, Float_t adc)
 
 ClassDef (StEEmcA2EMaker, 1)
 
- Protected Member Functions inherited from StMaker
StMessMgrGetLogger () const
 
virtual TDataSetFindDataSet (const char *logInput, const StMaker *uppMk=0, const StMaker *dowMk=0) const
 
- Protected Member Functions inherited from TDataSet
virtual void SetMother (TObject *mother)
 
 TDataSet (const char *name, const char *title)
 
void AddMain (TDataSet *set)
 add data set to main data set
 
TDataSetGetRealParent ()
 return real parent
 
void MakeCollection ()
 Create the internal container at once if any.
 

Protected Attributes

Float_t mScale
 
Float_t mSigmaPed [6]
 
const StEEmcDbmDbMaker
 
const EEmcGeomSimplemEEgeom
 
StEEmcTower mTowers [kEEmcNumSectors *kEEmcNumSubSectors *kEEmcNumEtas][4]
 Array of 720 x 4 tower objects. More...
 
StEEmcStrip mStrips [kEEmcNumSectors][kEEmcNumSmdUVs][kEEmcNumStrips]
 Array of 12x2x288 smd strip objects.
 
std::vector< StEEmcTowerVec_t > mHitTowers
 
StEEmcTowermHighTower [4]
 
std::vector< std::vector
< StEEmcStripVec_t > > 
mHitStrips
 
Float_t mEnergy [kEEmcNumSectors][6]
 
Int_t mHits [kEEmcNumSectors][6]
 Number of hits in layer.
 
TString mDbName
 
TString mInputName
 
Int_t mInputType
 
StEEmcDbmDbMaker
 
StMuDstMakermMuDstMaker
 
StEventMakermEventMaker
 
EEmcGeomSimplemEEgeom
 
- Protected Attributes inherited from StMaker
TDataSetm_DataSet
 
TDataSetm_ConstSet
 
TDataSetm_GarbSet
 
TDataSetm_Inputs
 
TDataSetm_Ouputs
 list of logInput:ActualInput
 
TDataSetm_Runco
 list of logOuput:ActualOuput
 
TList * m_Histograms
 Run Control parameters.
 
Int_t fTallyMaker [kStFatal+1]
 counters
 
Int_t m_Mode
 counters
 
Int_t m_Number
 Integer mode of maker.
 
Int_t m_LastRun
 Serial event number.
 
Int_t m_DebugLevel
 Last Run number.
 
Int_t m_MakeReturn
 Debug level.
 
TStopwatch m_Timer
 Make() return flag.
 
StMemStatfMemStatMake
 Timer object.
 
StMemStatfMemStatClear
 StMemStat for Make.
 
Int_t fStatus
 StMemStat for Clear.
 
StMessMgrfLogger
 Maker status.
 
StTurnLoggerfLoggerHold
 
- Protected Attributes inherited from TDataSet
TDataSetfParent
 
TSeqCollection * fList
 

Additional Inherited Members

- Public Types inherited from StMaker
enum  EDebugLevel { kNormal, kDebug }
 
enum  { kSTAFCV_BAD, kSTAFCV_OK, kSTAFCV_ERR =2, kSTAFCV_FATAL =3 }
 
enum  EMakerStatus {
  kInitBeg = 1, kInitEnd = 2, kMakeBeg = 3, kCleaBeg = 4,
  kFiniBeg = 5, kFiniEnd = 6, kActive = 7
}
 
- Public Types inherited from TDataSet
enum  EDataSetPass {
  kContinue, kPrune, kStop, kUp,
  kStruct, kAll, kRefs, kMarked
}
 
enum  ESetBits { kMark = BIT(22), kArray = BIT(20) }
 
enum  EBitOpt { kSet = kTRUE, kReset = kFALSE }
 
- Static Public Member Functions inherited from StMaker
static StMakerNew (const char *classname, const char *name="", void *title=0)
 
static StMakerGetTopChain ()
 
static StMakerGetChain ()
 
static StMakerGetFailedMaker ()
 
static StMakerGetMaker (const TDataSet *ds)
 Static functions.
 
static EDataSetPass ClearDS (TDataSet *ds, void *user)
 
static const char * RetCodeAsString (Int_t kode)
 
static Int_t AliasDate (const char *alias)
 
static Int_t AliasTime (const char *alias)
 
static const char * AliasGeometry (const char *alias)
 
static const DbAlias_tGetDbAliases ()
 
static void SetTestMaker (StTestMaker *mk)
 
static Int_t Cleanup (TDataSet *&ds)
 
static void lsMakers (const StMaker *top)
 
- Static Public Member Functions inherited from TDataSet
static TDataSetGetMainSet ()
 return pointer to the main dataset
 
static TDataSetinstance ()
 
- Public Attributes inherited from StMaker
enum StMaker:: { ... }  EModule_return_Status
 
- Static Protected Member Functions inherited from TDataSet
static EDataSetPass SortIt (TDataSet *ds)
 
static EDataSetPass SortIt (TDataSet *ds, void *user)
 
- Static Protected Attributes inherited from StMaker
static StMakerfgTopChain = 0
 list of Histograms
 
static StMakerfgStChain = 0
 pointer to top StChain
 
static StMakerfgFailedMaker = 0
 current pointer to StChain
 
static StTestMakerfgTestMaker = 0
 current pointer to failed maker
 
static Int_t fgTallyMaker [kStFatal+1] = {0,0,0,0,0}
 
- Static Protected Attributes inherited from TDataSet
static TDataSetfgMainSet = &mainSet
 

Detailed Description

EEmc ADC –> energy maker.

This maker performs pedestal subtraction and gain corrections to the EEMC data. It currently supports MuDst and StEvent files as input.

Author
Jason C. Webb
Date:
2014/06/24 21:11:20
Revision:
1.8

Definition at line 19 of file StEEmcA2EMaker.h.

Constructor & Destructor Documentation

StEEmcA2EMaker::StEEmcA2EMaker ( const Char_t *  name = "mEEanalysis")

Clear all towers and init index

Now set pointers to all neighboring towers

no pointers to self

off edge of endcap

cyclical phi

add pointer to neighboring tower

Set high tower pointer

Clear and init all strips

Nullify pointers to makers

Initialize default thresholds, nsigma above ped

towers

pre1

pre2

post

smd-u

smd-v

Create storage banks for hit towers and strips. THESE SHOULD NOT BE CLEARED!

Vector of towers, one per layer (0=T,1=P,2=Q,3=R)

Vector of strips, one per plane (0=U, 1=V)

Definition at line 42 of file StEEmcA2EMaker.cxx.

References StEEmcElement::Clear(), StEEmcTower::Clear(), StEEmcTower::etabin(), StEEmcStrip::index(), StEEmcTower::index(), StEEmcTower::layer(), mDbMaker, mEEgeom, mEnergy, mHighTower, mHits, mHitStrips, mHitTowers, mStrips, mTowers, StEEmcTower::neighbor(), StEEmcTower::phibin(), phibin(), StEEmcStrip::plane(), scale(), StEEmcStrip::sector(), strip(), threshold(), and tower().

Member Function Documentation

void StEEmcA2EMaker::addSmdHit ( Int_t  sec,
Int_t  plane,
Int_t  str,
Float_t  adc 
)
protected

Add an smd hit

Parameters
sec,:sector [0,12)
plane,:plane [0,2) = U,V
str,:strip number [0,288)
adc,:adc value

Access the database. Note that the DB counts from 1, not zero.

Check if null

Copy fail and status bits

Raw ADC should always be here

Abort if the db has this marked as bad or questionable

Ignore all ADC below a user-specified threshold

Set raw and ped subtracted ADC

Make sure gain is positive, nonzero

Determine energy

Definition at line 356 of file StEEmcA2EMaker.cxx.

References StEEmcElement::adc(), StEEmcElement::energy(), energy(), StEEmcElement::fail(), mDbMaker, mEnergy, mHits, mHitStrips, mSigmaPed, mStrips, StEEmcElement::raw(), StEEmcElement::stat(), strip(), and threshold().

Referenced by fillFromMuDst(), and fillFromSt().

void StEEmcA2EMaker::addTowerHit ( Int_t  sec,
Int_t  sub,
Int_t  eta,
Float_t  adc,
Int_t  layer 
)
protected

Add a tower hit

Parameters
sec,:sector [0,12)
sub,:subsector [0,5)
eta,:etabin [0,12)
adc,:adc value
layer,:layer [0,4)

Get the database entry for this detector note, DB expects sectors, eta counted from 1 not 0 for conformity with Star's ... conventions.

Copy fail and status bits

Raw ADC should always be here

Abort if the db has this marked as a bad or questionable channel

Ignore all ADC below a user-specified threshold

Raw and ped subtracted adc

Make sure gain is positive, nonzero

Determine energy

And set detector response

Determine tower center and set E_T

Push back list of all hit towers, preshower, postshower

Definition at line 276 of file StEEmcA2EMaker.cxx.

References StEEmcElement::adc(), StEEmcElement::energy(), energy(), StEEmcTower::et(), StEEmcElement::fail(), index(), mDbMaker, mEEgeom, mEnergy, mHighTower, mHits, mHitTowers, mScale, mSigmaPed, mTowers, StEEmcTower::print(), StEEmcElement::raw(), StEEmcElement::stat(), and threshold().

Referenced by fillFromMuDst(), and fillFromSt().

void StEEmcA2EMaker::Clear ( Option_t *  opts = "")
virtual

Clear the maker for next event.

Clear hit towers and strips

Clear all towers and strips (for speed, we can clear only those which were "hit"... but KISS for now.)

Clear sector energy sums

Reimplemented from StMaker.

Definition at line 407 of file StEEmcA2EMaker.cxx.

References StMaker::Clear(), mEnergy, mHits, mHitStrips, mHitTowers, mStrips, and mTowers.

Float_t StEEmcA2EMaker::energy ( Int_t  sec,
Int_t  layer 
)
inline

Get the energy (towers) or energy deposit (pre,post,smd) in the specified sector

Parameters
sector,:0..11 the 12 EEMC sectors
layer,:0=T, 1=P, 2=Q, 3=R, 4=U, 5=V

Definition at line 109 of file StEEmcA2EMaker.h.

References mEnergy.

Float_t StEEmcA2EMaker::energy ( Int_t  sector,
Int_t  layer 
) const
inline

Get the energy (towers) or energy deposit (pre,post,smd) in the specified sector

Parameters
sector,:0..11 the 12 EEMC sectors
layer,:0=T, 1=P, 2=Q, 3=R, 4=U, 5=V

Definition at line 120 of file StEEmcA2EMaker.h.

References mEnergy.

Referenced by addSmdHit(), addTowerHit(), StEEmcQAMaker::EEmcResponse(), energy(), fillFromSt(), StEEmcPointFitMaker::FitSector(), and StEEmcPointTreeMaker::Make().

Bool_t StEEmcA2EMaker::fillFromMuDst ( StMuEmcCollection emc)
protected

Main "filling" method. StEvent and Ezt will be converted to mudst collection prior to call

Loop over all towers

Loop over all pre/postshower elements

Loop over all smd hits

Definition at line 211 of file StEEmcA2EMaker.cxx.

References addSmdHit(), addTowerHit(), and strip().

Bool_t StEEmcA2EMaker::fillFromMuDst ( const StMuEmcCollection emc)
protected

Main "filling" method. StEvent and Ezt will be converted to mudst collection prior to call

Loop over all towers

Loop over all pre/postshower elements

Loop over all smd hits

Definition at line 206 of file StEEmcA2EMaker.cxx.

References addSmdHit(), addTowerHit(), StMaker::GetName(), and strip().

Referenced by readData(), and readMuDst().

Bool_t StEEmcA2EMaker::fillFromSt ( StEmcCollection emc)
protected

If StEvent is used, we will fill additional parts of StEEmcElement.

Set StEmcRawHit pointers in StEEmcTower, towers

Remember to watch out for fortran holdovers in the numbering scheme

Loop over all raw hits in this sector

these are returned indexed from 1, offset into local scheme (indexed from 0)

add raw hit to our tower

add this hit to our list of hit towers, calculate energy, etc... Note that addTowerHit must come after any operation on mTowers[0][ii] for changes to tower to be propagated to the array of hit towers.

Set StEmcRawHit pointers in StEEmcTower, pre + post

Remember to watch out for fortran holdovers in the numbering scheme

Loop over all raw hits in this sector

This encoding is a bit obnoxious, but necessary to stuff eemc data into barrel structures.

add this hit to our tower/layer. See comments in tower loop.

Set StEmcRawHit pointers in StEEmcStrip

Loop over U & V planes

Get the eemc smd collections

Remember to watch out for fortran holdovers in the numbering scheme

Loop over all raw hits in this sector

sett comments in tower loop.

Definition at line 463 of file StEEmcA2EMaker.cxx.

References addSmdHit(), addTowerHit(), index(), mHitTowers, mStrips, mTowers, and StEEmcElement::stemc().

Bool_t StEEmcA2EMaker::fillFromSt ( const StEmcCollection emc)
protected

If StEvent is used, we will fill additional parts of StEEmcElement.

Set StEmcRawHit pointers in StEEmcTower, towers

Remember to watch out for fortran holdovers in the numbering scheme

Loop over all raw hits in this sector

these are returned indexed from 1, offset into local scheme (indexed from 0)

add raw hit to our tower

add this hit to our list of hit towers, calculate energy, etc... Note that addTowerHit must come after any operation on mTowers[0][ii] for changes to tower to be propagated to the array of hit towers.

Set StEmcRawHit pointers in StEEmcTower, pre + post

Remember to watch out for fortran holdovers in the numbering scheme

Loop over all raw hits in this sector

This encoding is a bit obnoxious, but necessary to stuff eemc data into barrel structures.

add this hit to our tower/layer. See comments in tower loop.

Set StEmcRawHit pointers in StEEmcStrip

Loop over U & V planes

Get the eemc smd collections

Remember to watch out for fortran holdovers in the numbering scheme

Loop over all raw hits in this sector

sett comments in tower loop.

Definition at line 441 of file StEEmcA2EMaker.cxx.

References addSmdHit(), addTowerHit(), energy(), index(), mHitTowers, mStrips, mTowers, and StEEmcElement::stemc().

Referenced by readData().

StEEmcTower StEEmcA2EMaker::hightower ( Int_t  layer = 0)

Returns the tower with the largest ADC response

Parameters
layer,:TPQR=0123
StEEmcTower StEEmcA2EMaker::hightower ( Int_t  layer = 0)
inline
StEEmcStrip& StEEmcA2EMaker::hitstrip ( Int_t  sec,
Int_t  pl,
Int_t  hit 
)
inline

Returns the specified hit strip

Parameters
sec,:sector containing the hit
pl,:plane containing the hit (0=U, 1=V)
hit,:[0, numberOfHitStrips())

Definition at line 106 of file StEEmcA2EMaker.h.

References mHitStrips.

Referenced by StEEmcQAMaker::EEmcResponse(), StEEmcPointFitMaker::FitSector(), and StEEmcDisplayMaker::Make().

StEEmcTower StEEmcA2EMaker::hittower ( Int_t  hit,
Int_t  layer 
)
inline

Return a specified hit tower

Parameters
hit,:index of the hit, 0 <= hit < numberOfHitTowers()
layer,:0=T, 1=P, 2=Q, 3=R

Definition at line 63 of file StEEmcA2EMaker.h.

References mHitTowers.

StEEmcTower& StEEmcA2EMaker::hittower ( Int_t  hit,
Int_t  layer 
)
inline

Return a specified hit tower

Parameters
hit,:index of the hit, 0 <= hit < numberOfHitTowers()
layer,:0=T, 1=P, 2=Q, 3=R

Definition at line 63 of file StEEmcA2EMaker.h.

References mHitTowers.

Referenced by StEEmcPi0Analysis::accept(), StEEmcIUPi0Analysis::accept(), StEEmcQAMaker::CheckTriggers(), StEEmcDisplayMaker::Make(), StEEmcPointMaker::shareEnergy(), and StEEmcIUPointMaker::shareEnergy().

Int_t StEEmcA2EMaker::Init ( )
virtual

Initialize.

Get pointer to our database maker

Reimplemented from StMaker.

Definition at line 163 of file StEEmcA2EMaker.cxx.

References mDbMaker.

Int_t StEEmcA2EMaker::Make ( )
virtual

Read and process one event.

Lack of EEMC data, issue a warning

Reimplemented from StMaker.

Definition at line 171 of file StEEmcA2EMaker.cxx.

References kStOK, kStWarn, and readData().

Int_t StEEmcA2EMaker::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 StEEmcA2EMaker::numberOfHits ( Int_t  sec,
Int_t  layer 
)
inline

Return number of hits (number of elements above threshold) for the specified sector and layer.

Parameters
sector,:0..11 the 12 EEMC sectors
layer,:0=T, 1=P, 2=Q, 3=R, 4=U, 5=V

Definition at line 117 of file StEEmcA2EMaker.h.

References mHits.

Int_t StEEmcA2EMaker::numberOfHits ( Int_t  sector,
Int_t  layer 
) const
inline

Return number of hits (number of elements above threshold) for the specified sector and layer.

Parameters
sector,:0..11 the 12 EEMC sectors
layer,:0=T, 1=P, 2=Q, 3=R, 4=U, 5=V

Definition at line 128 of file StEEmcA2EMaker.h.

References mHits.

Referenced by StEEmcQAMaker::EEmcResponse().

Int_t StEEmcA2EMaker::numberOfHitStrips ( Int_t  sector,
Int_t  plane 
)
inline

Return number of hit SMD strips for the specified sector, plane

Parameters
sector,:0-11 for 12 EEMC sectors
plane,:0=U, 1=V

Definition at line 95 of file StEEmcA2EMaker.h.

References mHitStrips.

Int_t StEEmcA2EMaker::numberOfHitStrips ( Int_t  sector,
Int_t  plane 
) const
inline

Return number of hit SMD strips for the specified sector, plane

Parameters
sector,:0-11 for 12 EEMC sectors
plane,:0=U, 1=V

Definition at line 100 of file StEEmcA2EMaker.h.

References mHitStrips.

Referenced by StEEmcQAMaker::EEmcResponse(), StEEmcPointFitMaker::FitSector(), StEEmcDisplayMaker::Make(), and StEEmcPi0Analysis::Make().

Int_t StEEmcA2EMaker::numberOfHitTowers ( Int_t  layer) const
inline

Return number of hit tower elements for specified layer.

Parameters
layer,:0=T, 1=P, 2=Q, 3=R

Definition at line 58 of file StEEmcA2EMaker.h.

References mHitTowers.

Referenced by StEEmcPi0Analysis::accept(), StEEmcIUPi0Analysis::accept(), StEEmcQAMaker::CheckTriggers(), StEEmcDisplayMaker::Make(), StEEmcPointMaker::shareEnergy(), and StEEmcIUPointMaker::shareEnergy().

Int_t StEEmcA2EMaker::numberOfHitTowers ( Int_t  layer)
inline

Return number of hit tower elements for specified layer.

Parameters
layer,:0=T, 1=P, 2=Q, 3=R

Definition at line 58 of file StEEmcA2EMaker.h.

References mHitTowers.

Bool_t StEEmcA2EMaker::readData ( )
protected

Read data from muDst, StEvent or muEzt branches, depending on input type

Bool_t StEEmcA2EMaker::readData ( )
protected

Read data from muDst, StEvent or muEzt branches, depending on input type - Main routine for reading data

Verify that we have a pointer to input data

Definition at line 179 of file StEEmcA2EMaker.cxx.

References fillFromMuDst(), fillFromSt(), and StMuDst::muEmcCollection().

Referenced by Make().

Bool_t StEEmcA2EMaker::readMuDst ( )
protected

Get the EMC collection

Definition at line 197 of file StEEmcA2EMaker.cxx.

References fillFromMuDst(), StMuDstMaker::muDst(), and StMuDst::muEmcCollection().

void StEEmcA2EMaker::scale ( Float_t  s)
inline

Set a "scale" parameter for reconstructing MC. Energies will be multiplied by scale.

Definition at line 121 of file StEEmcA2EMaker.h.

References mScale.

void StEEmcA2EMaker::scale ( Float_t  s)
inline

Set a "scale" parameter for reconstructing MC. Energies will be multiplied by scale.

Definition at line 132 of file StEEmcA2EMaker.h.

References mScale.

Referenced by StEEmcA2EMaker().

void StEEmcA2EMaker::source ( const Char_t *  name,
Int_t  type = 0 
)
inline

Set the name and type of the input data maker.

Parameters
name,:name of the maker
type,:1=muDst, 2=StEvent, 3=muEzt (unsupported)

Definition at line 43 of file StEEmcA2EMaker.h.

void StEEmcA2EMaker::source ( const Char_t *  name,
Int_t  type = 0 
)

Set the name and type of the input data maker. type=1, read from muDst (only one supported for now) type=2, read from StEvent. type=3, read from muEzt. type=else, serenity now.

StEEmcStrip StEEmcA2EMaker::strip ( Int_t  sector,
Int_t  plane,
Int_t  strip 
)
inline

Return a specifed hit SMD strip

Parameters
sector,:sector index, [0,11]
plane,:plane index, 0=U, 1=V
index,:strip index, runs [0,287]

Definition at line 103 of file StEEmcA2EMaker.h.

References mStrips, and strip().

Referenced by strip().

StEEmcStrip& StEEmcA2EMaker::strip ( Int_t  sector,
Int_t  plane,
Int_t  strip 
)
inline

Return a specifed hit SMD strip

Parameters
sector,:sector index, [0,12)
plane,:plane index, 0=U, 1=V
strip,:strip index, runs [0,288)

Definition at line 113 of file StEEmcA2EMaker.h.

References mStrips, and strip().

Referenced by addSmdHit(), StEEmcClusterMaker::buildSmdClusters(), StMyClusterMaker::buildSmdClusters(), StEEmc2x2ClusterMaker::buildSmdClusters(), StEEmcIUClusterMaker::buildSmdClusters(), fillFromMuDst(), StEEmcTimingMaker::Make(), StMyPointMaker::split(), StEEmcA2EMaker(), and strip().

void StEEmcA2EMaker::threshold ( Float_t  cut,
Int_t  layer 
)

Set the number of sigma above pedestal required to consider the detector "hit". May be negative value. Layer [0-5]=[TPQRUV].

void StEEmcA2EMaker::threshold ( Float_t  cut,
Int_t  layer 
)
inline

Set the number of sigma above pedestal required to consider the detector "hit". May be negative value. Layer [0-5]=[TPQRUV]. Default values are 3.0 for all layers

Definition at line 35 of file StEEmcA2EMaker.h.

References mSigmaPed.

Referenced by addSmdHit(), addTowerHit(), and StEEmcA2EMaker().

StEEmcTower StEEmcA2EMaker::tower ( Int_t  index,
Int_t  layer = 0 
)
inline

Return a specified tower element

Parameters
index,:tower index ranging from 0-719
layer,:layer index, 0=T, 1=P, 2=Q, 3=R

Definition at line 68 of file StEEmcA2EMaker.h.

References index(), and mTowers.

StEEmcTower& StEEmcA2EMaker::tower ( Int_t  index,
Int_t  layer = 0 
)
inline
StEEmcTower StEEmcA2EMaker::tower ( Int_t  sector,
Int_t  subsector,
Int_t  etabin,
Int_t  layer = 0 
)
inline

Return a specified tower element

Parameters
sector,:tower sector, counting from 0 [0,11]
subsector,:tower subsector A-E, counting from 0 [0,4]
etabin,:tower etabin, counting from 0 [0,11]
layer,:layer index, 0=T, 1=P, 2=Q, 3=R

Definition at line 75 of file StEEmcA2EMaker.h.

References index(), and tower().

Referenced by tower().

StEEmcTower& StEEmcA2EMaker::tower ( Int_t  sector,
Int_t  subsector,
Int_t  etabin,
Int_t  layer = 0 
)
inline

Return a specified tower element

Parameters
sector,:tower sector, counting from 0 [0,12)
subsector,:tower subsector A-E, counting from 0 [0,5)
etabin,:tower etabin, counting from 0 [0,12)
layer,:layer index, 0=T, 1=P, 2=Q, 3=R

Definition at line 77 of file StEEmcA2EMaker.h.

References index(), and tower().

Referenced by tower().

StEEmcTower* StEEmcA2EMaker::tower ( TVector3 &  r,
Int_t  layer 
)

Return a pointer to the tower element which the specified vector (origin at 0,0,0) points to. A NULL is returned if no valid tower exists at that position.

StEEmcTower * StEEmcA2EMaker::tower ( TVector3 &  r,
Int_t  layer 
)

Return a pointer to the tower element which the specified vector (origin at 0,0,0) points to. A NULL is returned if no valid tower exists at that position.

Definition at line 634 of file StEEmcA2EMaker.cxx.

References EEmcGeomSimple::getTower(), index(), mEEgeom, and mTowers.

StEEmcTowerVec_t& StEEmcA2EMaker::towers ( Int_t  layer = 0)
inline

Returns a vector of hit tower, preshower and postshower elements. Check hitTowers[i].layer() to deterimine if it is a tower(0), pre1(1), pre2(2) or postshower(3) element.

Definition at line 49 of file StEEmcA2EMaker.h.

References mHitTowers.

Referenced by StEEmcPointTreeMaker::Make(), StEEmcMixTreeMaker::Make(), StEEmcEnergyMaker_t::Make(), and StEEmcPi0Analysis::Make().

StEEmcTowerVec_t StEEmcA2EMaker::towers ( Int_t  layer = 0)
inline

Returns a vector of hit tower, preshower and postshower elements. Check hitTowers[i].layer() to deterimine if it is a tower(0), pre1(1), pre2(2) or postshower(3) element.

Definition at line 51 of file StEEmcA2EMaker.h.

References mHitTowers.

Member Data Documentation

const StEEmcDb* StEEmcA2EMaker::mDbMaker
protected

Definition at line 142 of file StEEmcA2EMaker.h.

Referenced by addSmdHit(), addTowerHit(), Init(), and StEEmcA2EMaker().

const EEmcGeomSimple* StEEmcA2EMaker::mEEgeom
protected

Definition at line 144 of file StEEmcA2EMaker.h.

Referenced by addTowerHit(), StEEmcA2EMaker(), and tower().

Float_t StEEmcA2EMaker::mEnergy
protected

Summed energy (towers) or energy deposit (pre,post,smd) in each sector. 0=T,1=P,2=Q,3=R,4=U,5=V

Definition at line 197 of file StEEmcA2EMaker.h.

Referenced by addSmdHit(), addTowerHit(), Clear(), energy(), and StEEmcA2EMaker().

StEEmcTower * StEEmcA2EMaker::mHighTower
protected
  • Holds pointer to highest responding tower element in layer

Definition at line 186 of file StEEmcA2EMaker.h.

Referenced by addTowerHit(), hightower(), and StEEmcA2EMaker().

std::vector< std::vector< StEEmcStripVec_t > > StEEmcA2EMaker::mHitStrips
protected

Same concept as with the hit towers, but this time applied to the SMD planes. mHitStrips[sec][plane][n] will, for instance, return the nth hit strip in the specified sector (sec=0..11) for the specified plane.

Definition at line 192 of file StEEmcA2EMaker.h.

Referenced by addSmdHit(), Clear(), hitstrip(), numberOfHitStrips(), StEEmcA2EMaker(), and strips().

std::vector< StEEmcTowerVec_t > StEEmcA2EMaker::mHitTowers
protected

Each element in this vector contains a vector of hit tower elements. The dimension of this vector will be 4, corresponding to:

mHitTowers[0] = vector of hit towers mHitTowers[1] = vector of hit preshower1 elements mhitTowers[2] = vector of hit preshower2 elements mHitTowers[3] = vector of hit postshower elements

Definition at line 184 of file StEEmcA2EMaker.h.

Referenced by addTowerHit(), Clear(), fillFromSt(), hittower(), numberOfHitTowers(), StEEmcA2EMaker(), and towers().

Float_t StEEmcA2EMaker::mScale
protected
  • Scales tower energy for MC

Definition at line 139 of file StEEmcA2EMaker.h.

Referenced by addTowerHit(), and scale().

Float_t StEEmcA2EMaker::mSigmaPed
protected
  • ADC > nSigmaPed + ped

Definition at line 140 of file StEEmcA2EMaker.h.

Referenced by addSmdHit(), addTowerHit(), and threshold().

StEEmcTower StEEmcA2EMaker::mTowers
protected

Array of 720 x 4 tower objects.

Tower, pre and postshower response.

Definition at line 172 of file StEEmcA2EMaker.h.

Referenced by addTowerHit(), Clear(), fillFromSt(), StEEmcA2EMaker(), and tower().


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