Int_t iFMD=1;
Int_t iMUON=1;
Int_t iPHOS=1;
+Int_t iCPV=1;
Int_t iPMD=1;
+Int_t iSTART=0;
//=================== Alice BODY parameters =============================
AliBODY *BODY = new AliBODY("BODY","Alice envelop");
AliMAG *MAG = new AliMAG("MAG","Magnet");
}
+
+if(iABSO) {
+//=================== ABSO parameters ============================
+AliABSO *ABSO = new AliABSO("ABSO","Muon Absorber");
+}
+
+if(iDIPO) {
+//=================== DIPO parameters ============================
+
+AliDIPO *DIPO = new AliDIPOv2("DIPO","Dipole version 2");
+}
+
+if(iHALL) {
+//=================== HALL parameters ============================
+
+AliHALL *HALL = new AliHALL("HALL","Alice Hall");
+}
+
+
+if(iFRAME) {
+//=================== FRAME parameters ============================
+
+AliFRAME *FRAME = new AliFRAMEv0("FRAME","Space Frame");
+}
+
+if(iSHIL) {
+//=================== SHIL parameters ============================
+
+AliSHIL *SHIL = new AliSHIL("SHIL","Shielding");
+}
+
+
+if(iPIPE) {
+//=================== PIPE parameters ============================
+
+AliPIPE *PIPE = new AliPIPEv0("PIPE","Beam Pipe");
+}
+
+
if(iITS) {
//=================== ITS parameters ============================
//
// understandable to the CAD system EUCLID. The default (=0) means that you
// dont want to use this facility.
//
-AliITS *ITS = new AliITSv3("ITS","normal ITS");
-ITS->SetEUCLID(1);
+AliITS *ITS = new AliITSv5("ITS","normal ITS");
+ITS->SetEUCLID(0);
}
if(iTPC) {
//-----------------------------------------------------------------------------
AliTPC *TPC = new AliTPCv1("TPC","Normal TPC");
+AliTPCD *paramd = TPC->GetDigParam();
+AliTPCParam *param = &(paramd->GetParam());
+
+// Set geometrical parameters
+
+param->SetSectorAngles(20.,0.,20.,0.);
+param->SetInnerRadiusLow(83.9);
+param->SetInnerRadiusUp(141.3);
+param->SetOuterRadiusLow(146.9);
+param->SetOuterRadiusUp(249.4);
+param->SetInSecLowEdge(81.6);
+param->SetInSecUpEdge(143.6);
+param->SetOuSecLowEdge(144.2);
+param->SetOuSecUpEdge(252.1);
+param->SetEdge(1.5);
+param->SetDeadZone(1.15);
+param->SetPadLength(2.0);
+param->SetPadWidth(0.3);
+param->SetPadPitchLength(2.05);
+param->SetPadPitchWidth(0.35);
+param->Update();
+
+if (TPC->IsVersion() != 2) paramd->Write("Param1");
+
+// set gas mixture
+
+TPC->SetGasMixt(2,20,10,-1,0.9,0.1,0.);
TPC->SetSecAL(1);
TPC->SetSecAU(1);
-TPC->SetSecLows(1, -1, -1, -1, -1, -1);
-TPC->SetSecUps(25, 26, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1);
+// Meaningless with versions other than 2
+TPC->SetSecLows(1, 2, 3, 1+18, 2+18, 3+18);
+TPC->SetSecUps(1+36, 2+36, 3+36, 1+38+18, 2+38+18, 3+38+18, -1,-1,-1,-1,-1,-1);
TPC->SetSens(1);
}
if(iRICH) {
//=================== RICH parameters ===========================
+ AliRICH *RICH = new AliRICHv0("RICH","normal RICH");
-AliRICH *RICH = new AliRICHv1("RICH","normal RICH");
-RICH->SetSP(40);
-RICH->SetFEED(0.04);
-RICH->SetSIGM(0.18);
-RICH->SetTRIG(0);
+ RICH->SetSMAXAR(0.03);
+ RICH->SetSMAXAL(-1);
+//
+// Version 0
+// Default Segmentation
+ AliRICHsegmentationV0* RsegV0 = new AliRICHsegmentationV0;
+ RsegV0->SetPADSIZ(.8, .8);
+ RsegV0->SetDAnod(0.8/3);
+// Default response
+ AliRICHresponseV0* Rresponse0 = new AliRICHresponseV0;
+ AliRICHresponseCkv* RresponseCkv = new AliRICHresponseCkv;
+
+//------------------------Chambers 0-6 ----------------------------
+ for (Int_t i=0; i<7; i++) {
+ RICH->SetSegmentationModel(i, 1, RsegV0);
+ RICH->SetResponseModel(i, mip , Rresponse0);
+ RICH->SetResponseModel(i, cerenkov, RresponseCkv);
+ RICH->Chamber(i).SetRSIGM(5.);
+ RICH->Chamber(i).SetMUCHSP(43.);
+ RICH->Chamber(i).SetMUSIGM(0.18, 0.18);
+ RICH->Chamber(i).SetMAXADC( 1024);
+ RICH->Chamber(i).SetSqrtKx3(0.77459667);
+ RICH->Chamber(i).SetKx2(0.962);
+ RICH->Chamber(i).SetKx4(0.379);
+ RICH->Chamber(i).SetSqrtKy3(0.77459667);
+ RICH->Chamber(i).SetKy2(0.962);
+ RICH->Chamber(i).SetKy4(0.379);
+ RICH->Chamber(i).SetPitch(0.25);
+ RICH->SetNsec(i,1);
+ }
}
if(iZDC) {
if(iTRD) {
//=================== TRD parameters ============================
-AliTRD *TRD = new AliTRDv2("TRD","TRD version 2");
+AliTRD *TRD = new AliTRDv0("TRD","TRD version 0");
// Select the gas mixture (0: 97% Xe + 3% isobutane, 1: 90% Xe + 10% CO2)
TRD->SetGasMix(0);
-// Define the sensitive parts of the detector
-//TRD->SetSensPlane(3);
-//TRD->SetSensChamber(2);
-//TRD->SetSensSector(5);
+TRD->SetHits(1);
}
-
-if(iABSO) {
-//=================== ABSO parameters ============================
-AliABSO *ABSO = new AliABSO("ABSO","Muon Absorber");
-}
-
-if(iDIPO) {
-//=================== DIPO parameters ============================
-
-AliDIPO *DIPO = new AliDIPOv2("DIPO","Dipole version 2");
-}
-
-if(iHALL) {
-//=================== HALL parameters ============================
-
-AliHALL *HALL = new AliHALL("HALL","Alice Hall");
-}
-
-
-if(iFRAME) {
-//=================== FRAME parameters ============================
-AliFRAME *FRAME = new AliFRAMEv1("FRAME","Space Frame");
-}
-
-if(iSHIL) {
-//=================== SHIL parameters ============================
-
-AliSHIL *SHIL = new AliSHIL("SHIL","Shielding");
-}
-
-
-if(iPIPE) {
-//=================== PIPE parameters ============================
-
-AliPIPE *PIPE = new AliPIPEv0("PIPE","Beam Pipe");
-}
-
-
if(iFMD) {
//=================== FMD parameters ============================
AliMUON *MUON = new AliMUONv0("MUON","normal MUON");
-MUON->SetSMAXAR(0.03);
-MUON->SetSMAXAL(-1);
+ MUON->SetMaxStepGas(0.1);
+ MUON->SetMaxStepAlu(0.1);
//
// Version 0
//
//
Int_t chamber;
Int_t station;
-// Default Segmentation
- AliMUONsegmentationV0* segV0 = new AliMUONsegmentationV0;
// Default response
AliMUONresponseV0* response0 = new AliMUONresponseV0;
- response0->SetSqrtKx3(0.761577);
- response0->SetKx2(0.972655);
- response0->SetKx4(0.3841);
- response0->SetSqrtKy3(0.714143);
- response0->SetKy2(1.0099);
- response0->SetKy4(0.403);
+ 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->SetRSIGM(10.);
- response0->SetMUCHSP(5.);
- response0->SetMUSIGM(0.18, 0.18);
- response0->SetMAXADC( 1024);
+ response0->SetSigmaIntegration(10.);
+ response0->SetChargeSlope(50);
+ response0->SetChargeSpread(0.18, 0.18);
+ response0->SetMaxAdc(4096);
//--------------------------------------------------------
// Configuration for Chamber TC1/2 (Station 1) ----------
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Float_t rseg[4]={17.5, 55.2, 71.3, 95.5};
- Int_t nseg[4]={4, 4, 2, 1};
-
+// Float_t rseg1[4]={17.5, 55.2, 71.3, 95.5};
+ Float_t rseg1[4]={15.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(rseg);
- seg11->SetPADSIZ(3.048, 0.508);
- seg11->SetPadDivision(nseg);
+
+ seg11->SetSegRadii(rseg1);
+ seg11->SetPADSIZ(3, 0.5);
+ seg11->SetDAnod(3.0/3./4);
+ seg11->SetPadDivision(nseg1);
+
MUON->SetSegmentationModel(chamber-1, 1, seg11);
//
- AliMUONsegmentationV01 *seg12=new AliMUONsegmentationV01;
- seg12->SetSegRadii(rseg);
- seg12->SetPADSIZ(2.032, 0.762);
- seg12->SetPadDivision(nseg);
+ AliMUONsegmentationV02 *seg12=new AliMUONsegmentationV02;
+ seg12->SetSegRadii(rseg1);
+ seg12->SetPADSIZ(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);
- MUON->SetSegmentationModel(chamber-1, 1, seg11);
- MUON->SetSegmentationModel(chamber-1, 2, seg12);
+//
+ AliMUONsegmentationV01 *seg21=new AliMUONsegmentationV01;
+ seg21->SetSegRadii(rseg1);
+ seg21->SetPADSIZ(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->SetPADSIZ(0.75, 2.);
+ seg22->SetDAnod(3.0/3./4);
+ seg22->SetPadDivision(nseg1);
+ MUON->SetSegmentationModel(chamber-1, 2, seg22);
- station=1;
-//^^^^^^^^^
- MUON->SetResponseModel(0, response0);
- MUON->SetResponseModel(1, response0);
+ MUON->SetResponseModel(chamber-1, response0);
//
//--------------------------------------------------------
// Configuration for Chamber TC3/4 -----------------------
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
+// Float_t rseg2[4]={23.5, 47.1, 87.7, 122.5};
+ Float_t rseg2[4]={21.5, 47.1, 87.7, 122.5};
+ Int_t nseg2[4]={4, 4, 2, 1};
+//
chamber=3;
- MUON->SetNsec(chamber-1,1);
- AliMUONsegmentationV0 *seg34=new AliMUONsegmentationV0;
- seg34->SetDAnod(0.51/3.);
-
- MUON->SetSegmentationModel(chamber-1, 1, seg34);
+//^^^^^^^^^
+ MUON->SetNsec(chamber-1,2);
+//
+ AliMUONsegmentationV01 *seg31=new AliMUONsegmentationV01;
+ seg31->SetSegRadii(rseg2);
+ seg31->SetPADSIZ(3, 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->SetPADSIZ(0.75, 2.);
+ 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,1);
- MUON->SetSegmentationModel(chamber-1, 1, seg34);
- MUON->SetResponseModel(chamber-1, response0);
+//^^^^^^^^^
//
-// Station 2
- station=2;
- MUON->SetPADSIZ(station, 1, 0.75, 0.51);
- MUON->SetMUCHSP(station, 5.);
- MUON->SetMUSIGM(station, 0.18, 0.18);
- MUON->SetRSIGM(station, 10.);
- MUON->SetMAXADC(station, 1024);
-
+ MUON->SetNsec(chamber-1,2);
//
+ AliMUONsegmentationV01 *seg41=new AliMUONsegmentationV01;
+ seg41->SetSegRadii(rseg2);
+ seg41->SetPADSIZ(3, 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->SetPADSIZ(0.75, 2.);
+ 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->SetKy2(0.98832946);
response5->SetKy4(0.39177817);
response5->SetPitch(0.325);
- response5->SetRSIGM(10.);
- response5->SetMUCHSP(5.);
- response5->SetMUSIGM( 0.4, 0.4);
- response5->SetMAXADC( 1024);
+ response5->SetSigmaIntegration(10.);
+ response5->SetChargeSlope(50);
+ response5->SetChargeSpread(0.4, 0.4);
+ response5->SetMaxAdc(4096);
chamber=5;
MUON->SetNsec(chamber-1,1);
// Station 3
station=3;
MUON->SetPADSIZ(station, 1, 0.975, 0.55);
+*/
+ chamber=5;
+//^^^^^^^^^
+ MUON->SetNsec(chamber-1,2);
+//
+ AliMUONsegmentationV0 *seg51=new AliMUONsegmentationV0;
+ seg51->SetPADSIZ(0.75, 0.5);
+ seg51->SetDAnod(3.0/3./4);
+ MUON->SetSegmentationModel(chamber-1, 1, seg51);
+//
+ AliMUONsegmentationV0 *seg52=new AliMUONsegmentationV0;
+ seg52->SetPADSIZ(0.5,0.75);
+ seg52->SetDAnod(3.0/3./4);
+ MUON->SetSegmentationModel(chamber-1, 2, seg52);
+
+ MUON->SetResponseModel(chamber-1, response0);
+
+ chamber=6;
+//^^^^^^^^^
+ MUON->SetNsec(chamber-1,2);
+//
+ AliMUONsegmentationV0 *seg61=new AliMUONsegmentationV0;
+ seg61->SetPADSIZ(0.75, 0.5);
+ seg61->SetDAnod(3.0/3./4);
+ MUON->SetSegmentationModel(chamber-1, 1, seg61);
//
+ AliMUONsegmentationV0 *seg62=new AliMUONsegmentationV0;
+ seg62->SetPADSIZ(0.5,0.75);
+ seg62->SetDAnod(3.0/3./4);
+ MUON->SetSegmentationModel(chamber-1, 2, seg62);
+
+ MUON->SetResponseModel(chamber-1, response0);
+
//--------------------------------------------------------
-// Configuration for Chamber TC7/8/9/10-------------------
+// Configuration for Chamber TC7/8 (Station 4) ----------
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ Int_t nseg4[4]={4, 4, 2, 1};
+
chamber=7;
- MUON->SetNsec(chamber-1,1);
- AliMUONsegmentationV0 *seg78=new AliMUONsegmentationV0;
- seg78->SetDAnod(0.51/3.);
+//^^^^^^^^^
+ MUON->SetNsec(chamber-1,2);
+//
+ AliMUONsegmentationV04 *seg71=new AliMUONsegmentationV04;
+ seg71->SetPADSIZ(10.,0.5);
+ seg71->SetDAnod(0.25);
+ seg71->SetPadDivision(nseg4);
+ MUON->SetSegmentationModel(chamber-1, 1, seg71);
+
+ AliMUONsegmentationV05 *seg72=new AliMUONsegmentationV05;
+ seg72->SetPADSIZ(1,10);
+ seg72->SetDAnod(0.25);
+ seg72->SetPadDivision(nseg4);
+ MUON->SetSegmentationModel(chamber-1, 2, seg72);
- MUON->SetSegmentationModel(chamber-1, 1, seg78);
MUON->SetResponseModel(chamber-1, response0);
chamber=8;
- MUON->SetNsec(chamber-1,1);
- MUON->SetSegmentationModel(chamber-1, 1, seg78);
+//^^^^^^^^^
+ MUON->SetNsec(chamber-1,2);
+ AliMUONsegmentationV04 *seg81=new AliMUONsegmentationV04;
+ seg81->SetPADSIZ(10., 0.5);
+ seg81->SetPadDivision(nseg4);
+ seg81->SetDAnod(0.25);
+ MUON->SetSegmentationModel(chamber-1, 1, seg81);
+
+ AliMUONsegmentationV05 *seg82=new AliMUONsegmentationV05;
+ seg82->SetPADSIZ(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);
//
-// Station 4
- station=4;
- MUON->SetPADSIZ(station, 1, 0.75, 0.5);
+ AliMUONsegmentationV04 *seg91=new AliMUONsegmentationV04;
+ seg91->SetPADSIZ(10.,0.5);
+ seg91->SetDAnod(0.25);
+ seg91->SetPadDivision(nseg4);
+ MUON->SetSegmentationModel(chamber-1, 1, seg91);
- chamber=9;
- MUON->SetNsec(chamber-1,1);
- AliMUONsegmentationV0 *seg910=new AliMUONsegmentationV0;
- seg910->SetDAnod(0.51/3.);
+ AliMUONsegmentationV05 *seg92=new AliMUONsegmentationV05;
+ seg92->SetPADSIZ(1,10);
+ seg92->SetDAnod(0.25);
+ seg92->SetPadDivision(nseg4);
+
+ MUON->SetSegmentationModel(chamber-1, 2, seg92);
- MUON->SetSegmentationModel(chamber-1, 1, seg910);
MUON->SetResponseModel(chamber-1, response0);
chamber=10;
- MUON->SetNsec(chamber-1,1);
- MUON->SetSegmentationModel(chamber-1, 1, seg910);
+//^^^^^^^^^
+ MUON->SetNsec(chamber-1,2);
+ AliMUONsegmentationV04 *seg101=new AliMUONsegmentationV04;
+ seg101->SetPADSIZ(10., 0.5);
+ seg101->SetPadDivision(nseg4);
+ seg101->SetDAnod(0.25);
+ MUON->SetSegmentationModel(chamber-1, 1, seg101);
+
+ AliMUONsegmentationV05 *seg102=new AliMUONsegmentationV05;
+ seg102->SetPADSIZ(1,10);
+ seg102->SetPadDivision(nseg4);
+ seg102->SetDAnod(0.25);
+ MUON->SetSegmentationModel(chamber-1, 2, seg102);
+
MUON->SetResponseModel(chamber-1, response0);
-//
-// Station 5
- station=5;
- MUON->SetPADSIZ(station, 1, 0.75, 0.5);
+//--------------------------------------------------------
+// Configuration for Trigger staions ---------------------
+// (not yet used/implemented) ----------------------------
+//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
chamber=11;
MUON->SetNsec(chamber-1,1);
station=7;
MUON->SetPADSIZ(station, 1, 0.75, 0.5);
}
-
-if(iPHOS) {
+
//=================== PHOS parameters ===========================
+if(iPHOS) {
AliPHOS *PHOS = new AliPHOSv1("PHOS","normal PHOS");
// * PHOSflags: YES: X<>0 NO: X=0
// * PHOSflags(1) : -----X Create branch for TObjArray of AliPHOSCradle
PHOS->SetRadius(460); //Distance from beam to PHOS crystals.
// (crystal_side_size,crystal_length,wrap_thikness,air_thikness,PIN_size,PIN length)
PHOS->SetCell(2.2, 18., 0.01, 0.01, 1., 0.1);
-PHOS->SetCradleSize(104, 88, 4); // Nz (along beam), Nphi, Ncradles
+PHOS->SetCradleSize(48, 90, 4); // Nz (along beam), Nphi, Ncradles
PHOS->SetCradleA(0); //Angle between Cradles
-PHOS->SetCPV(1., 2.); //CPV thikness, CPV-PHOS distance
// * ===============
// * PHOS extra parameters (contact Maxim Volkov volkov@mail.cern.ch)
// * 1. STE_THICK Steel cover thickness
// *******************************************************************************
}
+if(iCPV) {
+//=================== CPV parameters ============================
+
+ printf ("CPV in initializing\n");
+ AliCPV *CPV = new AliCPVv0("CPV","normal CPV");
+}
+
+
if(iPMD) {
//=================== PMD parameters ============================
PMD->SetPadSize(0.8, 1.0, 1.0, 1.5);
}
+
+if(iSTART) {
+//=================== START parameters ============================
+AliSTART *START = new AliSTARTv0("START","START Detector");
+}
+
}