-------------- EEMC embedding -------------- Wei-Ming Zhang 4/11/2004 Naming convention -------------------- There are eight sub-detectors in programs which were developed for both Barrel and Endcap early. And, the four detectors names given to EEMC sub-detectors are "Eemc", "Eprs", "Esmde", and "Esmdp". In EEMC embedding, the name of "Esmdu" and "Esmdv" are used for the two EEMC-SMD layers instead of awkward "Esmde" and "Esmdp". In the code of StEEmcSimulationMaker and StEEmcMixerMaker, the name "Eemc" for EEMC tower is replaced by "Etow" which makes more sense. Description of embedding scheme ---------------------------------- The EEMC embedding program follows the steps of Barrel EMC embedding. Programs. Makers involved in the embedding are described below. I. How to handle MC data ---------------------------- 1, StMcEvent ------------ Three new StMcEmcHitCollection*: mEprsHits, mEsmduHits, and mEsmdvHits are added to StMcEvent for EEMC. Three new StPtrVecMcCalorimeterHit: mEprsHits, mEsmduHits, and mEsmdvHits are added to StMcTrack. 2,StMcEventMaker ------------------- Stuff for EEMC is added to it. It converts geant.root to StMcEvent which will be used later in StEEmcAssocationMaker. Unpacking of EEMC-MC data is modified from a method readEventFromChain() of StEEmcUtil/EEmcMC/EEmcMCData.cxx written by Piotr A. Zolnierczuk. 3, StEEmcSimulatorMaker ---------------------- The existing simulation maker StEEmcSlowMaker accepts MuDst only. And, its output does not fit the scheme of embedding. The maker StEEmcSimulatorMaker reads geant.root and unpacks EEMC MC data as StMcEventMaker. It stores EEMC information in a StEmcCollection of StEvent which will be used by StEEmcMixerMaker later. This maker inherits from SlowSimUtil as StEEmcSlowMaker. Its two simulation methods simEprs() and simEsmd() are modifiled from StEEmcSlowMaker::MakePre() and MakeSMD(). Another method simEtow() only adds pedestal to ADC currently. StMcEmcHitCollection* mEemcHits which existed in StMcEvent before modification is used to store hits of tower in StEmcSimulatorMaker. StMcEmcHitCollection* mEprsHits is newly created and is used to store hits of pre/post. Electronicly, pulses from tower and pre/post are summed together before sending to tower-ADC modules. This special feature of summing is reflected in method makeEtowAndEprsMcHits() in the maker as in StEmcSimulaterMaker. In mEemcHits, ID of pre/post goes from 0-5. While in mEprsHits, it goes from 0-15. Also, please see comments in StEEmcSimulatorMaker.h for its flow chart and others. II. How to handle real data ----------------------------- The work is done by Jason Webb. 1, StEvent ------------ StEmcCluster.h is midfield to add EEMC stuff 2, StEEmcA2EMaker ---------------- It prepares for construction of EEMC clusters and pointers. It accepts both StEvent and MuDst. 3, StEEmcClusterMaker -------------------- It builds StEmcClusters of EEMC. III. Mixer and association ------------------------------ 1,StEmcPreMixerMaker ------------------- A simple maker to check input and time before StEmcMixerMaker 2, StEmcMixerMaker (main StMaker of EEMC-embedding) ------------------------------------------------- Embedding needs two StEvent: mEvent1 (read) and mEvent2 (MC). The first is read from input files of real data with clusters filled. The second is built with the simulated StEmcCollection owned by StEmcSimlatorMaker. Currently, it accepts StEvent of real data only. It is planned to expand the maker for MuDst. 3, StEEmcAssociationMaker ----------------------------- It is copied from StEmcAssociationMaker written by Marcia Maria de Moura with minor changes. It associates StMcTracks of StMcEvent with the embedded StEvent generated by StEEmcMixerMaker. There are four multimaps built in it. A, multiEEmcTrackCluster which correlates MC tracks with clusters B, multiEEmcClusterTrack which correlates clusters with MC tracks C, multiEEmcTrackPoint which correlates MC tracks with EEMC points D, multiEEmcPointTrack which correlates points with MC tracks The use of these multimaps are similar to the TPC multimaps. The two assocation makers for Barrel and Endcap could be combined together if preferred. Please see comments in StEEmcAssociationMaker.h and StEmcAssociationMaker.h for details. 4, AnalysisMaker ----------------------------- User will have to write his/her own analysisMaker of efficiency study using the multimaps built in StEEmcAssociationMaker. An example StEEmcEffAnalysisMaker could be found in ./StRoot/ III. Usage and comments ------------------------------ 1, A sample macro doEEmcEmbedEvent.C is provided in the directory ./macros/ 2, Extra attention should be paid to the pedestal of MC events. StEEmcSimulationMaker (as well as StEEmcSlowMaker) has a flag mAddPed. If it is turned on in simulation, pedestal will be added to ADC. Then, there will be a double-pedestal in the embedded ADC. To eliminated the double-pedestal, we could turn on a flag mMinusPed in StEEmcMixerMaker. Please use the two flags wisely to avoid double pedestal. 3, There is an method dEToEnergy() to be constructed in StEEmcAssociationMaker which corrects the energy of a MC hit related to a StMcTrack with "calibrated" parameters. The idea is borrowed from Barrel EMC association. It may not be needed for Endcap if MC energy is simulated correctly. 4, ADC should be calibrated and energy should be calculated with a certain accuracy before applying the embedding program for any efficiency study.