Simulation
The simulation is done in two steps, one which describes the detector geometry
and material and one which does the particle tracking and stores the hits
and digits in a TTree itself written on a disk file. These two steps are
steered through the Config.C file(example),
a root macro launched at the AliRoot prompt. To customize this file you must:
-
select a file name for the root output:
//=======================================================================
// Create the output file
sprintf(filename,"myfilename.root");
-
Define your event generator and simulations parameters:
AliGenCocktail *gener = new AliGenCocktail(); // Cocktail class
gener->SetPtRange(.02,10.00); // Transverse momentum range
gener->SetPhiRange(180.,360.); // Azimuthal angle range
gener->SetYRange(-0.25,0.25); // Pseudorapidity range
gener->SetOrigin(0,0,0); // Vertex position
gener->SetSigma(0,0,5.6); // Sigma in (X,Y,Z) (cm) on IP position
gener->Init(); // Initialize the generator
-
Select the detector seen by the tracking:
Int_t iPHOS=1; // PHOS is in
Int_t iPMD=0; // PMD is out
-
Create a PHOS object (GPS2 is so far the unique configuration option, see below):
if(iPHOS) {
//=================== PHOS parameters ===========================
AliPHOS *PHOS = new AliPHOSv0("PHOS","GPS2");
You van now run the simulation by entering the following command at the aliroot prompt:
aliroot> gAlice->Run(1,"PHOSConfig_Central.C");
Geometry
Definition
PHOS consists of two distinct parts. The calorimeter, named EMCA, consists
of the PbW04 crystals within their housing. The crystals are assembled
in fNModules modules of fNPhi rows along the x-axis direction
and fNZ modules along the z-axis direction. Since the total number
of crystals and their layout within ALICE is presently (11/11/1999) not
final it was decided to fully parametrize the geometry. A change in any
of the three previously defined parameters will provide automatically a
new layout of the modules.
The second part of PHOS is the charged particle identifier. Since until
end of 2000 no decision will be taken on the final design of this element
two or more versions can be considered. Today (11/11/1999) only one version
is implemented and is named PPSD for PHOS Pre-Shower Detector. It consists
of a first layer of fNumberOfModulesPhi x fNumberOfModulesZ gas
detectors per PHOS module, each detectors being subdivided into fNumberOfPadsPhi
x fNumberOfPadsZ gas cells, a Lead converter and a second layer
of gas detectors identical to the first layer. This second part is positionned
on top of the EMCA module.
The class AliPHOSv0 ( inheritance tree )
describes this geometry. We have defined also a class
AliPHOSv1 ( inheritance tree )
which in addition contains the photodiode response and the light transport through the crystal.
The parameters of the geometry are given in class AliPHOSGeometry ( inheritance tree )
Figure 1.a: GEANT Tree which describes the EMC-PHOS geometry
Figure 1.b: GEANT Tree which describes the PPSD-PHOS geometry
Implementation
Figure 2.: Class diagram for the geometry/simulation package
AliPHOS: This is the base class. It derives from AliDetector.
It's only purpose is to describe the materials
(à la AliMC) needed for the EMCA and PPSD construction.
AliPHOSv4: It derives from AliPHOS.
-
It sets up the geometry for the Root display (AliPHOSv4::BuildGeometry())
and for the GEANT tracking (AliPHOSv4::CreateGeometry()).
-
It watches the tracks passing through the active media of EMCA and PPSD
(AliPHOSv4::StepManager()).
-
It stores the hits (AliPHOSv4::AddHit()), using the AliPHOSHit
class.
-
It stores the digits (AliPHOSv4::FinishEvent()), using the AliPHOSDigit
class.
AliPHOSv1 : derives from AliPHOSv0 and includes the light transport
in the crystal and the response of the PIN photodiode à la O. H. Oddland.
AliPHOSvFast : used for fast simulation.
AliPHOSGeometry : It derives from TObject to make it
persistent. It is a singleton, i.e., a pointer to the unique instance of
this class is obtained by:
AliPHOSGeometry * Geom = AliPHOSGeometry::GetInstance()
-
It sets the various parameters for the geometry description and provides
the method to access all the parameters. To avoid cumbersome macros at
run time these parameters can only be changed manually in the source code.
-
It provides the method to convert the absolute detector Id (crystal in
EMCA or pad in PPSD) into a relative Id : PHOS module number, PPSD module
number, row, column (AliPHOSGeometry::AbsToRelNumbering()) and the
reverse operation (AliPHOSGeometry::RelToAbsNumbering()).
-
It provides the method to convert an absolute Id into a three-vector giving
the position of the detector in ALICE (AliPHOSGeometry::RelPosInAlice()).
AliPHOSHit: It derives from AliHit. It stores the
hits as the pair (absolute Id, deposited energy). The hits presently are stored in the hit TTree
as one hit per elementary cell (EMC crystal or PPSD gas cell) (See the
the AddHit() method in AliPHOSv0).
AliPHOSDigit : It derives from AliDigit. It stores
the digits as the pair (absolute Id, energy) in the digit TTree (see
the FinishEvent() method in AliPHOSv0).
Usage
Int_t iPHOS=1;
if(iPHOS) {
AliPHOS * phos = new AliPHOSv4("PHOS", char * name) ;
where name can take the following values:
-
GPS2: will create EMCA plus PPSD
Figure 3a.: ROOT Display of ALICE: All Views
Figure 3b.: ROOT Display of ALICE: Front Views
Figure 3c.: ROOT Display of ALICE: All View3
Figure 4.a: ROOT Display of ALICE: zoom on PPSD, Front Views
Figure 4.b: ROOT Display of ALICE: zoom on PPSD, Perspective View
-
more to come from Protvino (EMCA plus other CPV type)
EMCA consists of 5 modules of 64x64 modules each, positionned at
azimuthal angles -40, -20, 0, +20, +40 (see figures). PPSD consists per
EMCA module of 2 layers of 4x4 gas detectors each, each detector having
24x24 gas cells.
Result
© >Groupe Photons Subatech (Yves SCHUTZ)
[Go
to the GPS Home Page]
Last modified: Sun Mar 26 17:37:28 CEST 2000