//
// Set External decayer
AliDecayer* decayer = new AliDecayerPythia();
- decayer->SetForceDecay(all);
+ decayer->SetForceDecay(kAll);
decayer->Init();
gMC->SetExternalDecayer(decayer);
//
if(iFRAME) {
//=================== FRAME parameters ============================
- AliFRAME *FRAME = new AliFRAMEv1("FRAME","Space Frame");
+ AliFRAME *FRAME = new AliFRAMEv2("FRAME","Space Frame");
}
AliPIPE *PIPE = new AliPIPEv0("PIPE","Beam Pipe");
}
-
if(iITS) {
- //=================== ITS parameters ============================
+
+//=================== ITS parameters ============================
//
// As the innermost detector in ALICE, the Inner Tracking System "impacts" on
- // almost all other detectors. This involves the fact that the ITS geometry
- // still has several options to be followed in parallel in order to determine
+ // almost all other detectors. This involves the fact that the ITS geometry
+ // still has several options to be followed in parallel in order to determine
// the best set-up which minimizes the induced background. All the geometries
- // available to date are described in the following. Read carefully the comments
+ // available to date are described in the following. Read carefully the comments
// and use the default version (the only one uncommented) unless you are making
// comparisons and you know what you are doing. In this case just uncomment the
- // ITS geometry you want to use and run Aliroot.
- //
- // Detailed geometries:
- // ====================
+ // ITS geometry you want to use and run Aliroot.
//
+ // Detailed geometries:
//
- //AliITS *ITS = new AliITSv3("ITS","Old ITS detailed version as of the ALICE TP");
//
- //AliITS *ITS = new AliITSv5("ITS","Current ITS detailed version used for the ITS TDR");
//
//AliITS *ITS = new AliITSv5symm("ITS","Updated ITS TDR detailed version with symmetric services");
//
AliITS *ITS = new AliITSv5asymm("ITS","Updates ITS TDR detailed version with asymmetric services");
//
- //
- // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful for reconstruction !):
- // ======================================================================================================================
- //
- //
- //AliITS *ITS = new AliITSv1("ITS","Old ITS coarse version as of the ALICE TP");
- //
- //AliITS *ITS = new AliITSvPPRcoarseasymm("ITS","New ITS coarse version with asymmetric services");
+ //AliITSvPPRasymm *ITS = new AliITSvPPRasymm("ITS","New ITS PPR detailed version with asymmetric services");
+ //ITS->SetMinorVersion(2);
+ //ITS->SetReadDet(kFALSE);
+ //ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRasymm2.det");
+ //ITS->SetThicknessDet1(300.); // detector thickness on layer 1 must be in the range [100,300]
+ //ITS->SetThicknessDet2(300.); // detector thickness on layer 2 must be in the range [100,300]
+ //ITS->SetThicknessChip1(300.); // chip thickness on layer 1 must be in the range [150,300]
+ //ITS->SetThicknessChip2(300.); // chip thickness on layer 2 must be in the range [150,300]
+ //ITS->SetRails(1); // 1 --> rails in ; 0 --> rails out
+ //ITS->SetCoolingFluid(1); // 1 --> water ; 0 --> freon
+ //
+ //AliITSvPPRsymm *ITS = new AliITSvPPRsymm("ITS","New ITS PPR detailed version with symmetric services");
+ //ITS->SetMinorVersion(2);
+ //ITS->SetReadDet(kFALSE);
+ //ITS->SetWriteDet("$ALICE_ROOT/ITS/ITSgeometry_vPPRsymm2.det");
+ //ITS->SetThicknessDet1(300.); // detector thickness on layer 1 must be in the range [100,300]
+ //ITS->SetThicknessDet2(300.); // detector thickness on layer 2 must be in the range [100,300]
+ //ITS->SetThicknessChip1(300.); // chip thickness on layer 1 must be in the range [150,300]
+ //ITS->SetThicknessChip2(300.); // chip thickness on layer 2 must be in the range [150,300]
+ //ITS->SetRails(1); // 1 --> rails in ; 0 --> rails out
+ //ITS->SetCoolingFluid(1); // 1 --> water ; 0 --> freon
+ //
+ //
+ // Coarse geometries (warning: no hits are produced with these coarse geometries and they unuseful
+ // for reconstruction !):
+ //
+ //
+ //
+ //AliITSvPPRcoarseasymm *ITS = new AliITSvPPRcoarseasymm("ITS","New ITS coarse version with asymmetric services");
+ //ITS->SetRails(1); // 1 --> rails in ; 0 --> rails out
+ //ITS->SetSupportMaterial(0); // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
//
//AliITS *ITS = new AliITSvPPRcoarsesymm("ITS","New ITS coarse version with symmetric services");
+ //ITS->SetRails(1); // 1 --> rails in ; 0 --> rails out
+ //ITS->SetSupportMaterial(0); // 0 --> Copper ; 1 --> Aluminum ; 2 --> Carbon
+ //
//
//
// Geant3 <-> EUCLID conversion
// ============================
//
- // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and
- // media to two ASCII files (called by default ITSgeometry.euc and
- // ITSgeometry.tme) in a format understandable to the CAD system EUCLID.
+ // SetEUCLID is a flag to output (=1) or not to output (=0) both geometry and
+ // media to two ASCII files (called by default ITSgeometry.euc and
+ // ITSgeometry.tme) in a format understandable to the CAD system EUCLID.
// The default (=0) means that you dont want to use this facility.
//
- ITS->SetEUCLID(0);
+ ITS->SetEUCLID(0);
}
-
-
+
if(iTPC) {
//============================ TPC parameters ================================
// --- This allows the user to specify sectors for the SLOW (TPC geometry 2)
if(iFMD) {
//=================== FMD parameters ============================
- AliFMD *FMD = new AliFMDv1("FMD","normal FMD");
+ AliFMD *FMD = new AliFMDv0("FMD","normal FMD");
}
if(iMUON) {
//=================== MUON parameters ===========================
- AliMUON *MUON = new AliMUONv1("MUON","normal MUON");
- MUON->SetIshunt(0);
- MUON->SetMaxStepGas(0.1);
- MUON->SetMaxStepAlu(0.1);
- //
- // Version 0
- //
- // First define the number of planes that are segmented (1 or 2) by a call
- // to SetNsec.
- // Then chose for each chamber (chamber plane) the segmentation
- // and response model.
- // They should be equal for the two chambers of each station. In a future
- // version this will be enforced.
- //
- //
- Int_t chamber;
- Int_t station;
- // Default response
- AliMUONResponseV0* response0 = new AliMUONResponseV0;
- response0->SetSqrtKx3(0.7131);
- response0->SetKx2(1.0107);
- response0->SetKx4(0.4036);
- response0->SetSqrtKy3(0.7642);
- response0->SetKy2(0.9706);
- response0->SetKy4(0.3831);
- response0->SetPitch(0.25);
- response0->SetSigmaIntegration(10.);
- response0->SetChargeSlope(50);
- response0->SetChargeSpread(0.18, 0.18);
- response0->SetMaxAdc(4096);
- response0->SetZeroSuppression(6);
- //--------------------------------------------------------
- // Configuration for Chamber TC1/2 (Station 1) ----------
- //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Float_t rseg1[4]={17.5, 55.2, 71.3, 95.5};
- Int_t nseg1[4]={4, 4, 2, 1};
- //
- chamber=1;
- //^^^^^^^^^
- MUON->SetNsec(chamber-1,2);
- //
- AliMUONSegmentationV01 *seg11=new AliMUONSegmentationV01;
-
- seg11->SetSegRadii(rseg1);
- seg11->SetPadSize(3, 0.5);
- seg11->SetDAnod(3.0/3./4);
- seg11->SetPadDivision(nseg1);
-
- MUON->SetSegmentationModel(chamber-1, 1, seg11);
- //
- AliMUONSegmentationV02 *seg12=new AliMUONSegmentationV02;
- seg12->SetSegRadii(rseg1);
- seg12->SetPadSize(0.75, 2.0);
- seg12->SetDAnod(3.0/3./4);
- seg12->SetPadDivision(nseg1);
-
- MUON->SetSegmentationModel(chamber-1, 2, seg12);
-
- MUON->SetResponseModel(chamber-1, response0);
-
- chamber=2;
- //^^^^^^^^^
- //
- MUON->SetNsec(chamber-1,2);
- //
- AliMUONSegmentationV01 *seg21=new AliMUONSegmentationV01;
- seg21->SetSegRadii(rseg1);
- seg21->SetPadSize(3, 0.5);
- seg21->SetDAnod(3.0/3./4);
- seg21->SetPadDivision(nseg1);
- MUON->SetSegmentationModel(chamber-1, 1, seg21);
- //
- AliMUONSegmentationV02 *seg22=new AliMUONSegmentationV02;
- seg22->SetSegRadii(rseg1);
- seg22->SetPadSize(0.75, 2.);
- seg22->SetDAnod(3.0/3./4);
- seg22->SetPadDivision(nseg1);
- MUON->SetSegmentationModel(chamber-1, 2, seg22);
-
- MUON->SetResponseModel(chamber-1, response0);
- //
- //--------------------------------------------------------
- // Configuration for Chamber TC3/4 -----------------------
- ///^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- // Float_t rseg2[4]={23.5, 87.7, 122.4, 122.5};
- Float_t rseg2[4]={23.5, 47.1, 87.7, 122.5};
- Int_t nseg2[4]={4, 4, 2, 1};
- //
- chamber=3;
- //^^^^^^^^^
- MUON->SetNsec(chamber-1,2);
- //
- AliMUONSegmentationV01 *seg31=new AliMUONSegmentationV01;
- seg31->SetSegRadii(rseg2);
- seg31->SetPadSize(6, 0.5);
- seg31->SetDAnod(3.0/3./4);
- seg31->SetPadDivision(nseg2);
- MUON->SetSegmentationModel(chamber-1, 1, seg31);
- //
- AliMUONSegmentationV02 *seg32=new AliMUONSegmentationV02;
- seg32->SetSegRadii(rseg2);
- seg32->SetPadSize(0.75, 4.);
- seg32->SetPadDivision(nseg2);
- seg32->SetDAnod(3.0/3./4);
-
- MUON->SetSegmentationModel(chamber-1, 2, seg32);
-
- MUON->SetResponseModel(chamber-1, response0);
-
- chamber=4;
- //^^^^^^^^^
- //
- MUON->SetNsec(chamber-1,2);
- //
- AliMUONSegmentationV01 *seg41=new AliMUONSegmentationV01;
- seg41->SetSegRadii(rseg2);
- seg41->SetPadSize(6, 0.5);
- seg41->SetDAnod(3.0/3./4);
- seg41->SetPadDivision(nseg2);
- MUON->SetSegmentationModel(chamber-1, 1, seg41);
- //
- AliMUONSegmentationV02 *seg42=new AliMUONSegmentationV02;
- seg42->SetSegRadii(rseg2);
- seg42->SetPadSize(0.75, 4.);
- seg42->SetPadDivision(nseg2);
- seg42->SetDAnod(3.0/3./4);
-
- MUON->SetSegmentationModel(chamber-1, 2, seg42);
-
- MUON->SetResponseModel(chamber-1, response0);
-
-
- //--------------------------------------------------------
- // Configuration for Chamber TC5/6 -----------------------
- //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
- seg5 = new AliMUONSegmentationV1;
- AliMUONResponseV0* response5 = new AliMUONResponseV0;
- // K3 = 0.62
- response5->SetSqrtKx3(0.78740079);
- response5->SetKx2(0.95237319); // 0.5 * kPI * (1- 0.5*sqrtky3 )
- response5->SetKx4(0.37480633); // 0.25/TMath::ATan(sqrtkx3)
- // K3 = 0.55
- response5->SetSqrtKy3(0.74161985);
- response5->SetKy2(0.98832946);
- response5->SetKy4(0.39177817);
- response5->SetPitch(0.325);
- response5->SetSigmaIntegration(10.);
- response5->SetChargeSlope(50);
- response5->SetChargeSpread(0.4, 0.4);
- response5->SetMaxAdc(4096);
- response5->SetZeroSuppression(6);
-
-
- chamber=5;
- MUON->SetNsec(chamber-1,1);
- MUON->SetSegmentationModel(chamber-1, 1, seg5);
- MUON->SetResponseModel(chamber-1, response5);
-
- chamber=6;
- MUON->SetNsec(chamber-1,1);
- MUON->SetSegmentationModel(chamber-1, 1, seg5);
- MUON->SetResponseModel(chamber-1, response5);
- //
- // Station 3
- station=3;
- MUON->SetPadSize(station, 1, 0.975, 0.55);
-
- //--------------------------------------------------------
- // Configuration for Chamber TC7/8 (Station 4) ----------
- //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
- Int_t nseg4[4]={4, 4, 2, 1};
-
- chamber=7;
- //^^^^^^^^^
- MUON->SetNsec(chamber-1,2);
- //
- AliMUONSegmentationV04 *seg71=new AliMUONSegmentationV04;
- seg71->SetPadSize(10.,0.5);
- seg71->SetDAnod(0.25);
- seg71->SetPadDivision(nseg4);
- MUON->SetSegmentationModel(chamber-1, 1, seg71);
- AliMUONSegmentationV05 *seg72=new AliMUONSegmentationV05;
- seg72->SetPadSize(1,10);
- seg72->SetDAnod(0.25);
- seg72->SetPadDivision(nseg4);
- MUON->SetSegmentationModel(chamber-1, 2, seg72);
-
- MUON->SetResponseModel(chamber-1, response0);
-
- chamber=8;
- //^^^^^^^^^
- MUON->SetNsec(chamber-1,2);
- AliMUONSegmentationV04 *seg81=new AliMUONSegmentationV04;
- seg81->SetPadSize(10., 0.5);
- seg81->SetPadDivision(nseg4);
- seg81->SetDAnod(0.25);
- MUON->SetSegmentationModel(chamber-1, 1, seg81);
-
- AliMUONSegmentationV05 *seg82=new AliMUONSegmentationV05;
- seg82->SetPadSize(1, 10);
- seg82->SetPadDivision(nseg4);
- seg82->SetDAnod(0.25);
- MUON->SetSegmentationModel(chamber-1, 2, seg82);
-
- MUON->SetResponseModel(chamber-1, response0);
- //--------------------------------------------------------
- // Configuration for Chamber TC9/10 (Station 5) ---------
- //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- chamber=9;
- //^^^^^^^^^
- MUON->SetNsec(chamber-1,2);
- //
- AliMUONSegmentationV04 *seg91=new AliMUONSegmentationV04;
- seg91->SetPadSize(10.,0.5);
- seg91->SetDAnod(0.25);
- seg91->SetPadDivision(nseg4);
- MUON->SetSegmentationModel(chamber-1, 1, seg91);
-
- AliMUONSegmentationV05 *seg92=new AliMUONSegmentationV05;
- seg92->SetPadSize(1,10);
- seg92->SetDAnod(0.25);
- seg92->SetPadDivision(nseg4);
-
- MUON->SetSegmentationModel(chamber-1, 2, seg92);
-
- MUON->SetResponseModel(chamber-1, response0);
-
- chamber=10;
- //^^^^^^^^^
- MUON->SetNsec(chamber-1,2);
- AliMUONSegmentationV04 *seg101=new AliMUONSegmentationV04;
- seg101->SetPadSize(10., 0.5);
- seg101->SetPadDivision(nseg4);
- seg101->SetDAnod(0.25);
- MUON->SetSegmentationModel(chamber-1, 1, seg101);
-
- AliMUONSegmentationV05 *seg102=new AliMUONSegmentationV05;
- seg102->SetPadSize(1,10);
- seg102->SetPadDivision(nseg4);
- seg102->SetDAnod(0.25);
- MUON->SetSegmentationModel(chamber-1, 2, seg102);
-
- MUON->SetResponseModel(chamber-1, response0);
-
- //--------------------------------------------------------
- // Configuration for Trigger staions ---------------------
- //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- AliMUONResponseTrigger* responseTrigger0 = new AliMUONResponseTrigger;
-
- chamber=11;
- MUON->SetNsec(chamber-1,2);
- AliMUONSegmentationTriggerX *seg111=new AliMUONSegmentationTriggerX;
- MUON->SetSegmentationModel(chamber-1, 1, seg111);
- AliMUONSegmentationTriggerY *seg112=new AliMUONSegmentationTriggerY;
- MUON->SetSegmentationModel(chamber-1, 2, seg112);
-
- MUON->SetResponseModel(chamber-1, responseTrigger0);
-
- chamber=12;
- MUON->SetNsec(chamber-1,2);
- AliMUONSegmentationTriggerX *seg121=new AliMUONSegmentationTriggerX;
- MUON->SetSegmentationModel(chamber-1, 1, seg121);
- AliMUONSegmentationTriggerY *seg122=new AliMUONSegmentationTriggerY;
- MUON->SetSegmentationModel(chamber-1, 2, seg122);
-
- MUON->SetResponseModel(chamber-1, responseTrigger0);
-
- chamber=13;
- MUON->SetNsec(chamber-1,2);
- AliMUONSegmentationTriggerX *seg131=new AliMUONSegmentationTriggerX;
- MUON->SetSegmentationModel(chamber-1, 1, seg131);
- AliMUONSegmentationTriggerY *seg132=new AliMUONSegmentationTriggerY;
- MUON->SetSegmentationModel(chamber-1, 2, seg132);
- MUON->SetResponseModel(chamber-1, responseTrigger0);
-
- chamber=14;
- MUON->SetNsec(chamber-1,2);
- AliMUONSegmentationTriggerX *seg141=new AliMUONSegmentationTriggerX;
- MUON->SetSegmentationModel(chamber-1, 1, seg141);
- AliMUONSegmentationTriggerY *seg142=new AliMUONSegmentationTriggerY;
- MUON->SetSegmentationModel(chamber-1, 2, seg142);
-
- MUON->SetResponseModel(chamber-1, responseTrigger0);
+ AliMUON *MUON = new AliMUONv1("MUON","default");
}
//=================== PHOS parameters ===========================