gROOT->Reset();
#endif
int i;
- const Int_t kNbins=30;
- Float_t aPckov[kNbins];
- for(i=0;i<kNbins;i++){ //Photons energy bins 5.5 eV - 8.5 eV step 0.1 eV
- aPckov[i]=(0.1*i+5.5)*1e-9;
- }
+ const Int_t kNbins=30;//number of photon energy points
+
+ Float_t aPckov[kNbins]; for(i=0;i<kNbins;i++) aPckov[i]=1e-9*AliRICHParam::PhotonEnergy(i);
+
- Float_t aIndexFreon[kNbins];
- Float_t aIndexSiO2[kNbins];
- Float_t aIndexOpaqueQuartz[kNbins];
- Float_t aIndexCH4[kNbins];
- Float_t aIndexGrid[kNbins];
+ Float_t aIdxC6F14[kNbins]; //Freon ref index
+ Float_t aIdxCH4[kNbins]; //Methane ref index
+ Float_t aIdxSiO2[kNbins]; //Quartz ref index
+ Float_t aIdxMetal[kNbins]; //Metal ref index always 0
+ Float_t aIdxGel[kNbins]; //Aerogel ref index
- Float_t e1= 10.666;Float_t e2= 18.125; Float_t f1= 46.411; Float_t f2= 228.71;//RICH TDR page 35
for (i=0;i<kNbins;i++){
- aIndexFreon[i] = aPckov[i] * .0172 * 1e9 + 1.177;
- Float_t ene=aPckov[i]*1e9;
- aIndexSiO2[i] = TMath::Sqrt(1. + f1/(e1*e1 - ene*ene) + f2/(e2*e2 - ene*ene) );
- aIndexOpaqueQuartz[i] =1;
- aIndexCH4[i] =1.000444;
- aIndexGrid[i] =1;
+ aIdxC6F14[i] = AliRICHParam::RefIdxC6F14(aPckov[i]*1e9);
+ aIdxSiO2[i] = AliRICHParam::RefIdxSiO2(aPckov[i]*1e9);
+ aIdxCH4[i] = AliRICHParam::RefIdxCH4(5.5);
+ aIdxGel[i] = AliRICHParam::RefIdxGel(5.5);
+ aIdxMetal[i] =0;//metal
}
- Float_t aAbsFreon[kNbins]={179.0987, 179.0987, 179.0987, 179.0987, 179.0987, //Previous values from code
- 179.0987, 179.0987, 179.0987, 179.0987, 142.9206,
- 56.64957, 25.58622, 13.95293, 12.03905, 10.42953,
- 8.804196, 7.069031, 4.461292, 2.028366, 1.293013,
- 0.577267, 0.40746, 0.334964, 0.00001, 0.00001,
- 0.00001};
+ Float_t aAbsC6F14[kNbins]={//New values from A.DiMauro 28.10.03 total 30
+ 32701.4219, 17996.1141, 10039.7281, 1799.1230, 1799.1231, 1799.1231, 1241.4091, 179.0987, 179.0986, 179.0987,
+ 179.0987, 118.9800, 39.5058, 23.7244, 11.1283, 7.1573, 3.6249, 2.1236, 0.7362, 0.5348,
+ 0.3387, 0.3074, 0.3050, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001};
+ Float_t aAbsSiO2[kNbins]={//New values from A.DiMauro 28.10.03 total 30
+ 34.4338, 30.5424, 30.2584, 31.4928, 31.7868, 17.8397, 9.3410, 6.4492, 6.1128, 5.8128,
+ 5.5589, 5.2877, 5.0162, 4.7999, 4.5734, 4.2135, 3.7471, 2.6033, 1.5223, 0.9658,
+ 0.4242, 0.2500, 0.1426, 0.0863, 0.0793, 0.0724, 0.0655, 0.0587, 0.0001, 0.0001};
-// Float_t aAbsFreon[kNbins]={32701.4219, 17996.1141, 10039.7281, 1799.1231, 1799.1231,//New values from A.DiMauro 28.10.03
-// 1799.1231, 1241.4091, 179.0987, 179.0987, 179.0987, 179.0987, 179.0987,
-// 179.0987, 179.0987, 179.0987, 179.0987, 142.9206,
-// 56.64957, 25.58622, 13.95293, 12.03905, 10.42953,
-// 8.804196, 7.069031, 4.461292, 2.028366, 1.293013,
-// 0.577267, 0.40746, 0.334964, 0.0, 0.0,
-// 0.0000, 0.0000, 0.0000, 0.0000, 0.0000};
-
- Float_t aAbsSiO2[kNbins]={105.8, 65.52, 48.58, 42.85, 35.79,
- 31.262, 28.598, 27.527, 25.007, 22.815,
- 21.004, 19.266, 17.525, 15.878, 14.177,
- 11.719, 9.282, 6.62, 4.0925, 2.601,
- 1.149, 0.667, 0.3627, 0.192, 0.1497,
- 0.10857};
-
- Float_t aAbsOpaqueQuartz[kNbins];
+ Float_t aAbsOpSiO2[kNbins];
Float_t aAbsCH4[kNbins];
Float_t aAbsGrid[kNbins];
Float_t aAbsCsI[kNbins];
+ Float_t aAbsGel[kNbins];
+ Float_t aAbsRef[kNbins];//abs prob on reflector
+
for (i=0;i<kNbins;i++){
- aAbsCH4[i] =AbsoCH4(aPckov[i]*1e9);
- aAbsOpaqueQuartz[i]=1e-5;
- aAbsCsI[i] =1e-4;
- aAbsGrid[i] =1e-4;
+ aAbsCH4[i] =AliRICHParam::AbsCH4(AliRICHParam::PhotonEnergy(i));
+ aAbsOpSiO2[i] =1e-5;
+ aAbsCsI[i] =1e-4;
+ aAbsGrid[i] =1e-4;
+ aAbsGel[i] =AliRICHParam::AbsGel(AliRICHParam::PhotonEnergy(i));
+ aAbsRef[i] =0.01;//1% reflector abs prob
}
- Float_t aQeCsI1[kNbins] = {0.0002, 0.0003, 0.0005, 0.0010, 0.0020, 0.0020, 0.0099, 0.0500, 0.1800, 0.1850,
- 0.1899, 0.1920, 0.1979, 0.2099, 0.2179, 0.2249, 0.2349, 0.2599, 0.2800, 0.3000,
- 0.3100, 0.3249, 0.3400, 0.3549, 0.3600, 0.3700, 0.3799, 0.3899, 0.4000, 0.4099};
- Float_t aQeCsI2[kNbins] = {0.0002, 0.0003, 0.0005, 0.0010, 0.0020, 0.0020, 0.0099, 0.0500, 0.1800, 0.1850,
- 0.1899, 0.1920, 0.1979, 0.2099, 0.2179, 0.2249, 0.2349, 0.2599, 0.2800, 0.3000,
- 0.3100, 0.3249, 0.3400, 0.3549, 0.3600, 0.3700, 0.3799, 0.3899, 0.4000, 0.4099};
- Float_t aQeCsI3[kNbins] = {0.0002, 0.0003, 0.0005, 0.0010, 0.0020, 0.0020, 0.0099, 0.0500, 0.1800, 0.1850,
- 0.1899, 0.1920, 0.1979, 0.2099, 0.2179, 0.2249, 0.2349, 0.2599, 0.2800, 0.3000,
- 0.3100, 0.3249, 0.3400, 0.3549, 0.3600, 0.3700, 0.3799, 0.3899, 0.4000, 0.4099};
- Float_t aQeCsI4[kNbins] = {0.0002, 0.0003, 0.0005, 0.0010, 0.0020, 0.0020, 0.0099, 0.0500, 0.1800, 0.1850,
- 0.1899, 0.1920, 0.1979, 0.2099, 0.2179, 0.2249, 0.2349, 0.2599, 0.2800, 0.3000,
- 0.3100, 0.3249, 0.3400, 0.3549, 0.3600, 0.3700, 0.3799, 0.3899, 0.4000, 0.4099};
- Float_t aQeCsI5[kNbins] = {0.0002, 0.0003, 0.0005, 0.0010, 0.0020, 0.0020, 0.0099, 0.0500, 0.1800, 0.1850,
- 0.1899, 0.1920, 0.1979, 0.2099, 0.2179, 0.2249, 0.2349, 0.2599, 0.2800, 0.3000,
- 0.3100, 0.3249, 0.3400, 0.3549, 0.3600, 0.3700, 0.3799, 0.3899, 0.4000, 0.4099};
- Float_t aQeCsI6[kNbins] = {0.0002, 0.0003, 0.0005, 0.0010, 0.0020, 0.0020, 0.0099, 0.0500, 0.1800, 0.1850,
- 0.1899, 0.1920, 0.1979, 0.2099, 0.2179, 0.2249, 0.2349, 0.2599, 0.2800, 0.3000,
- 0.3100, 0.3249, 0.3400, 0.3549, 0.3600, 0.3700, 0.3799, 0.3899, 0.4000, 0.4099};
- Float_t aQeCsI7[kNbins] = {0.0002, 0.0003, 0.0005, 0.0010, 0.0020, 0.0020, 0.0099, 0.0500, 0.1800, 0.1850,
- 0.1899, 0.1920, 0.1979, 0.2099, 0.2179, 0.2249, 0.2349, 0.2599, 0.2800, 0.3000,
- 0.3100, 0.3249, 0.3400, 0.3549, 0.3600, 0.3700, 0.3799, 0.3899, 0.4000, 0.4099};
+ Float_t aQeCsI[kNbins] = {//New values from A.DiMauro 28.10.03 total 31
+ 0.0002, 0.0006, 0.0007, 0.0010, 0.0049, 0.0073, 0.0104, 0.0519, 0.0936, 0.1299,
+ 0.1560, 0.1768, 0.1872, 0.1976, 0.2142, 0.2288, 0.2434, 0.2599, 0.2673, 0.2808,
+ 0.2859, 0.2954, 0.3016, 0.3120, 0.3172, 0.3224, 0.3266, 0.3328, 0.3359, 0.3390};
+// 0.3431};
+
Float_t aQeAll[kNbins];
for(i=0;i<kNbins;i++){
- aQeCsI1[i]/= (1.0-Fresnel(aPckov[i]*1e9,1.0,0)); //FRESNEL LOSS CORRECTION
- aQeCsI2[i]/= (1.0-Fresnel(aPckov[i]*1e9,1.0,0)); //FRESNEL LOSS CORRECTION
- aQeCsI3[i]/= (1.0-Fresnel(aPckov[i]*1e9,1.0,0)); //FRESNEL LOSS CORRECTION
- aQeCsI4[i]/= (1.0-Fresnel(aPckov[i]*1e9,1.0,0)); //FRESNEL LOSS CORRECTION
- aQeCsI5[i]/= (1.0-Fresnel(aPckov[i]*1e9,1.0,0)); //FRESNEL LOSS CORRECTION
- aQeCsI6[i]/= (1.0-Fresnel(aPckov[i]*1e9,1.0,0)); //FRESNEL LOSS CORRECTION
- aQeCsI7[i]/= (1.0-Fresnel(aPckov[i]*1e9,1.0,0)); //FRESNEL LOSS CORRECTION
+ aQeCsI[i]/= (1.0-Fresnel(AliRICHParam::PhotonEnergy(i),1.0,0)); //FRESNEL LOSS CORRECTION
aQeAll[i]=1; //QE for all other materials except for PC must be 1.
}
#ifdef __CINT__
+ Float_t aAbsC6F14old[kNbins]={//previous values 26 in total added 0.0001 to the 30
+ 179.0987, 179.0987, 179.0987, 179.0987, 179.0987, 179.0987, 179.0987, 179.0987, 179.0987, 142.9206,
+ 56.6496, 25.5862, 13.9529, 12.0391, 10.4295, 8.8042, 7.0690, 4.4611, 2.0284, 1.2930,
+ 0.5772, 0.4074, 0.3350, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001, 0.0001};
+ Float_t aAbsSiO2old[kNbins]={//previous values 26 in total added 0.0001 to the 30
+ 105.8000, 65.5200, 48.5800, 42.8500, 35.7900, 31.2620, 28.5980, 27.5270, 25.0070, 22.8150,
+ 21.0040, 19.2660, 17.5250, 15.8780, 14.1770, 11.7190, 9.2820, 6.6200, 4.0930, 2.6010,
+ 1.1490, 0.6670, 0.3630, 0.1920, 0.1500, 0.1090, 0.0001, 0.0001, 0.0001, 0.0001};
+ Float_t aQeCsIold[kNbins]={
+ 0.0002, 0.0006, 0.0007, 0.0050, 0.0075, 0.0101, 0.0243, 0.0405, 0.0689, 0.1053,
+ 0.1215, 0.1417, 0.1579, 0.1620, 0.1661, 0.1677, 0.1743, 0.1768, 0.1793, 0.1826,
+ 0.1859, 0.1876, 0.1892, 0.1909, 0.2075, 0.2158, 0.0001, 0.0001, 0.0001, 0.0001 };
+
//Now plot all the thigs
-//Freon, Quartz, Opaque ,Methane,CsI,Grid
- const Int_t kFreonMarker= 24; const Int_t kFreonColor=kRed;
- const Int_t kCH4Marker= 25; const Int_t kCH4Color=kGreen;
- const Int_t kSiO2Marker= 26; const Int_t kSiO2Color=kBlue;
- const Int_t kCsIMarker = 2; const Int_t kCsIColor =kMagenta;
+//Markers and colors for different curves:
+
+ const Double_t kWidth=0.25,kHeight=0.2;
+ const Int_t kC6F14Marker=24 , kC6F14Color=kRed;
+ const Int_t kCH4Marker =25 , kCH4Color =kGreen;
+ const Int_t kSiO2M =26 , kSiO2Color =kBlue;
+ const Int_t kCsIMarker = 2 , kCsIColor =kMagenta;
+ const Int_t kGelMarker =27 , kGelColor =46;
+ const Int_t kRefMarker =28 , kRefColor =47;
TCanvas *pC=new TCanvas("c1","RICH optics to check",1100,900);
pC->Divide(3,2);
-
+//Ref index
pC->cd(1);
- TGraph *pAbsFreonGr=new TGraph(kNbins,aPckov,aAbsFreon);
- pAbsFreonGr->SetMarkerStyle(kFreonMarker); pAbsFreonGr->SetMarkerColor(kFreonColor);
- TGraph *pAbsSiO2Gr=new TGraph(kNbins,aPckov,aAbsSiO2);
- pAbsSiO2Gr->SetMarkerStyle(kSiO2Marker); pAbsSiO2Gr->SetMarkerColor(kSiO2Color);
- TMultiGraph *pAbsMG=new TMultiGraph();
- TLegend *pAbsLegend=new TLegend(0.6,0.3,0.85,0.5);
- pAbsMG->Add(pAbsFreonGr); pAbsLegend->AddEntry(pAbsFreonGr, "freon","p"); //1
- pAbsMG->Add(pAbsSiO2Gr); pAbsLegend->AddEntry(pAbsSiO2Gr, "SiO2","p"); //2
- pAbsMG->Draw("APL");
- pAbsMG->GetXaxis()->SetTitle("energy, GeV");
- pAbsMG->GetYaxis()->SetTitle("absorption length, cm");
- pAbsMG->Draw("APL");
- pAbsLegend->Draw();
-
-
+ TGraph *pIdxC6F14=new TGraph(kNbins,aPckov,aIdxC6F14);pIdxC6F14->SetMarkerStyle(kC6F14Marker);pIdxC6F14->SetMarkerColor(kC6F14Color);
+ TGraph *pIdxSiO2 =new TGraph(kNbins,aPckov,aIdxSiO2); pIdxSiO2 ->SetMarkerStyle(kSiO2M) ;pIdxSiO2 ->SetMarkerColor(kSiO2Color);
+ TGraph *pIdxCH4 =new TGraph(kNbins,aPckov,aIdxCH4); pIdxCH4 ->SetMarkerStyle(kCH4Marker) ;pIdxCH4 ->SetMarkerColor(kCH4Color);
+ TGraph *pIdxGel =new TGraph(kNbins,aPckov,aIdxGel); pIdxGel ->SetMarkerStyle(kGelMarker) ;pIdxGel ->SetMarkerColor(kGelColor);
+
+ TMultiGraph *pIdxMG=new TMultiGraph(); TLegend *pIdxLe=new TLegend(0.5,0.21,0.5+kWidth,0.21+kHeight);
+ pIdxMG->Add(pIdxC6F14); pIdxLe->AddEntry(pIdxC6F14,"C6F14" ,"p");
+ pIdxMG->Add(pIdxSiO2) ; pIdxLe->AddEntry(pIdxSiO2 ,"SiO2" ,"p");
+ pIdxMG->Add(pIdxCH4) ; pIdxLe->AddEntry(pIdxCH4 ,"CH4" ,"p");
+ pIdxMG->Add(pIdxGel) ; pIdxLe->AddEntry(pIdxGel ,"Aerogel","p");
+ pIdxMG->Draw("APL");
+ pIdxMG->SetTitle("Refractive index"); pIdxMG->GetXaxis()->SetTitle("energy, GeV");
+ pIdxMG->Draw("APL");
+ pIdxLe->Draw();
+//Absorbtion
pC->cd(2);
- TGraph *pIndexFreonGr=new TGraph(kNbins,aPckov,aIndexFreon);
- pIndexFreonGr->SetMarkerStyle(kFreonMarker); pIndexFreonGr->SetMarkerColor(kFreonColor);
- TGraph *pIndexSiO2Gr=new TGraph(kNbins,aPckov,aIndexSiO2);
- pIndexSiO2Gr->SetMarkerStyle(kSiO2Marker); pIndexSiO2Gr->SetMarkerColor(kSiO2Color);
- TGraph *pIndexCH4Gr=new TGraph(kNbins,aPckov,aIndexCH4);
- pIndexCH4Gr->SetMarkerStyle(kCH4Marker); pIndexCH4Gr->SetMarkerColor(kCH4Color);
- TMultiGraph *pIndexMG=new TMultiGraph();
- TLegend *pIndexLegend=new TLegend(0.6,0.2,0.85,0.4);
- pIndexMG->Add(pIndexFreonGr); pIndexLegend->AddEntry(pIndexFreonGr, "C6F14","p"); //1
- pIndexMG->Add(pIndexSiO2Gr); pIndexLegend->AddEntry(pIndexSiO2Gr, "SiO2","p");
- pIndexMG->Add(pIndexCH4Gr); pIndexLegend->AddEntry(pIndexCH4Gr, "CH4","p");
- pIndexMG->Draw("APL");
- pIndexMG->GetXaxis()->SetTitle("energy, GeV");
- pIndexMG->GetYaxis()->SetTitle("refraction index");
- pIndexMG->Draw("APL");
- pIndexLegend->Draw();
-
- pC->cd(3);
- TGraph *pAbsCH4Gr=new TGraph(kNbins,aPckov,aAbsCH4);
- pAbsCH4Gr->SetMarkerStyle(kCH4Marker); pAbsCH4Gr->SetMarkerColor(kCH4Color);
- pAbsCH4Gr->Draw("APL");
- pAbsCH4Gr->GetXaxis()->SetTitle("energy, GeV");
- pAbsCH4Gr->SetTitle("CH4 absorption length, cm");
- pAbsCH4Gr->Draw("APL");
+ gPad->SetLogy();
+ TGraph *pAbsC6F14=new TGraph(kNbins,aPckov,aAbsC6F14);pAbsC6F14->SetMarkerStyle(kC6F14Marker); pAbsC6F14->SetMarkerColor(kC6F14Color);
+ TGraph *pAbsSiO2 =new TGraph(kNbins,aPckov,aAbsSiO2) ;pAbsSiO2 ->SetMarkerStyle(kSiO2M) ; pAbsSiO2 ->SetMarkerColor(kSiO2Color);
+ TGraph *pAbsCH4 =new TGraph(kNbins,aPckov,aAbsCH4) ;pAbsCH4 ->SetMarkerStyle(kCH4Marker) ; pAbsCH4 ->SetMarkerColor(kCH4Color);
+ TGraph *pAbsGel =new TGraph(kNbins,aPckov,aAbsGel) ;pAbsGel ->SetMarkerStyle(kGelMarker) ; pAbsGel ->SetMarkerColor(kGelColor);
+ TGraph *pAbsRef =new TGraph(kNbins,aPckov,aAbsRef) ;pAbsRef ->SetMarkerStyle(kRefMarker) ; pAbsRef ->SetMarkerColor(kRefColor);
+ TMultiGraph *pAbsMG=new TMultiGraph(); TLegend *pAbsLe=new TLegend(0.2,0.15,0.2+kWidth,0.15+kHeight);
+ pAbsMG->Add(pAbsC6F14); pAbsLe->AddEntry(pAbsC6F14, "C6F14" ,"p");
+ pAbsMG->Add(pAbsSiO2); pAbsLe->AddEntry(pAbsSiO2 , "SiO2" ,"p");
+ pAbsMG->Add(pAbsCH4); pAbsLe->AddEntry(pAbsCH4 , "CH4" ,"p");
+ pAbsMG->Add(pAbsGel); pAbsLe->AddEntry(pAbsGel , "Aerogel" ,"p");
+ pAbsMG->Add(pAbsRef); pAbsLe->AddEntry(pAbsRef , "Reflector","p");
+ pAbsMG->Draw("APL");
+ pAbsMG->SetTitle("Absorbtion length,cm"); pAbsMG->GetXaxis()->SetTitle("energy, GeV");
+ pAbsMG->Draw("APL");
+ pAbsLe->Draw();
+//QE
pC->cd(4);
- TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI1);
- pQeCsIGr->SetMarkerStyle(kCsIMarker); pQeCsIGr->SetMarkerColor(kCsIColor);
- pQeCsIGr->Draw("APL");
- pQeCsIGr->GetXaxis()->SetTitle("energy, GeV");
- pQeCsIGr->SetTitle("QE");
- pQeCsIGr->Draw("APL");
-
-
+ TGraph *pQeCsI=new TGraph(kNbins,aPckov,aQeCsI); pQeCsI->SetMarkerStyle(kCsIMarker); pQeCsI->SetMarkerColor(kCsIColor);
+ pQeCsI->Draw("APL");
+ pQeCsI->SetTitle("QE"); pQeCsI->GetXaxis()->SetTitle("energy, GeV");
+ pQeCsI->Draw("APL");
+//transmission
pC->cd(5);
- Float_t aTrFreon[kNbins],aTrSiO2[kNbins],aTrCH4[kNbins];
+ Float_t mm =0.1;Float_t cm=1.;
+ Float_t aTrC6F14[kNbins],aTrSiO2[kNbins],aTrCH4[kNbins];
Float_t aTotTr[kNbins];
- for(Int_t i=0;i<kNbins;i++){
- aTrFreon[i]=TMath::Exp(-AliRICHParam::FreonThickness() /(aAbsFreon[i]+0.0001));
- aTrSiO2[i] =TMath::Exp(-AliRICHParam::QuartzThickness()/(aAbsSiO2[i] +0.0001));
- aTrCH4[i] =TMath::Exp(-AliRICHParam::GapThickness() /(aAbsCH4[i] +0.0001));
- aTotTr[i] =aTrFreon[i]*aTrSiO2[i]*aTrCH4[i]*aQeCsI1[i];
+ for(Int_t i=0;i<kNbins;i++){//calculate probability for photon to survive during transversing a volume of material with absorption length
+ aTrC6F14[i]=TMath::Exp(-15*mm/(aAbsC6F14[i]+0.0001));
+ aTrSiO2[i] =TMath::Exp(-5*mm/(aAbsSiO2[i] +0.0001));
+ aTrCH4[i] =TMath::Exp(-8*cm/(aAbsCH4[i] +0.0001));
+ aTotTr[i] =aTrC6F14[i]*aTrSiO2[i]*aTrCH4[i]*aQeCsI[i];
}
- TGraph *pTrFreonG=new TGraph(kNbins,aPckov,aTrFreon);pTrFreonG->SetMarkerStyle(kFreonMarker);pTrFreonG->SetMarkerColor(kFreonColor);
- TGraph *pTrSiO2G=new TGraph(kNbins,aPckov,aTrSiO2);pTrSiO2G->SetMarkerStyle(kSiO2Marker); pTrSiO2G->SetMarkerColor(kSiO2Color);
- TGraph *pTrCH4G=new TGraph(kNbins,aPckov,aTrCH4);pTrCH4G->SetMarkerStyle(kCH4Marker); pTrCH4G->SetMarkerColor(kCH4Color);
- TGraph *pTotTrG=new TGraph(kNbins,aPckov,aTotTr);pTotTrG->SetMarkerStyle(30);
- TMultiGraph *pTrMG=new TMultiGraph();
- TLegend *pTrLegend=new TLegend(0.6,0.2,0.85,0.4);
- pTrMG->Add(pTrFreonG); pTrLegend->AddEntry(pTrFreonG, "freon","p"); //1
- pTrMG->Add(pTrSiO2G); pTrLegend->AddEntry(pTrSiO2G, "SiO2","p");
- pTrMG->Add(pTrCH4G); pTrLegend->AddEntry(pTrCH4G, "CH4","p");
- pTrMG->Add(pTotTrG); pTrLegend->AddEntry(pTotTrG, "total","p");
- pTrMG->Draw("APL");
- pTrMG->GetXaxis()->SetTitle("energy, GeV");
- pTrMG->GetYaxis()->SetTitle("transmission");
+ TGraph *pTrC6F14=new TGraph(kNbins,aPckov,aTrC6F14);pTrC6F14->SetMarkerStyle(kC6F14Marker);pTrC6F14->SetMarkerColor(kC6F14Color);
+ TGraph *pTrSiO2 =new TGraph(kNbins,aPckov,aTrSiO2) ;pTrSiO2 ->SetMarkerStyle(kSiO2M) ;pTrSiO2 ->SetMarkerColor(kSiO2Color);
+ TGraph *pTrCH4 =new TGraph(kNbins,aPckov,aTrCH4) ;pTrCH4 ->SetMarkerStyle(kCH4Marker) ;pTrCH4 ->SetMarkerColor(kCH4Color);
+ TGraph *pTotTr =new TGraph(kNbins,aPckov,aTotTr) ;pTotTr ->SetMarkerStyle(30) ;pTotTr ->SetMarkerColor(kYellow);
+
+ TMultiGraph *pTrMG=new TMultiGraph(); TLegend *pTrLe=new TLegend(0.2,0.4,0.2+kWidth,0.4+kHeight);
+ pTrMG->Add(pQeCsI); pTrLe->AddEntry(pQeCsI, "CsI QE", "p");
+ pTrMG->Add(pTrC6F14); pTrLe->AddEntry(pTrC6F14, "C6F14", "p");
+ pTrMG->Add(pTrSiO2); pTrLe->AddEntry(pTrSiO2, "SiO2", "p");
+ pTrMG->Add(pTrCH4); pTrLe->AddEntry(pTrCH4, "CH4", "p");
+ pTrMG->Add(pTotTr); pTrLe->AddEntry(pTotTr, "total", "p");
pTrMG->Draw("APL");
- pTrLegend->Draw();
-
+ pTrMG->SetTitle("Transmission"); pTrMG->GetXaxis()->SetTitle("energy, GeV");
+ pTrMG->Draw("APL");
+ pTrLe->Draw();
+//comparison of new and old staff
+ pC->cd(6);
+ TGraph *pQeCsIold=new TGraph(kNbins,aPckov,aQeCsIold); pQeCsIold->SetMarkerStyle(kC6F14Marker);pQeCsIold->SetMarkerColor(kC6F14Color);
+ TMultiGraph *pCompMG=new TMultiGraph; TLegend *pCompLe=new TLegend(0.2,0.6,0.2+kWidth,0.6+kHeight);
+ pCompMG->Add(pQeCsI); pCompLe->AddEntry(pQeCsI, "QE new 30.10.03", "p");
+ pCompMG->Add(pQeCsIold); pCompLe->AddEntry(pQeCsIold, "QE old 01.01.02", "p");
+ pCompMG->Draw("APL");
+ pCompMG->SetTitle("Comparison of new and old staff");
+ pCompMG->GetXaxis()->SetTitle("energy, GeV");
+ pCompMG->Draw("APL");
+ pCompLe->Draw();
+
return;
TCanvas *pQeC=new TCanvas("pQeC","CsI QE currently all the same",800,900);
pQeC->Divide(2,4);
for(int i=1;i<=7;i++){
pQeC->cd(i);
switch(i){
- case 1: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI1);pQeCsIGr->SetTitle("Module 1");break;
- case 2: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI2);pQeCsIGr->SetTitle("Module 2");break;
- case 3: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI3);pQeCsIGr->SetTitle("Module 3");break;
- case 4: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI4);pQeCsIGr->SetTitle("Module 4");break;
- case 5: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI5);pQeCsIGr->SetTitle("Module 5");break;
- case 6: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI6);pQeCsIGr->SetTitle("Module 6");break;
- case 7: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI7);pQeCsIGr->SetTitle("Module 7");break;
+ case 1: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI);pQeCsIGr->SetTitle("Module 1");break;
+ case 2: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI);pQeCsIGr->SetTitle("Module 2");break;
+ case 3: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI);pQeCsIGr->SetTitle("Module 3");break;
+ case 4: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI);pQeCsIGr->SetTitle("Module 4");break;
+ case 5: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI);pQeCsIGr->SetTitle("Module 5");break;
+ case 6: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI);pQeCsIGr->SetTitle("Module 6");break;
+ case 7: TGraph *pQeCsIGr=new TGraph(kNbins,aPckov,aQeCsI);pQeCsIGr->SetTitle("Module 7");break;
}
pQeCsIGr->SetMarkerStyle(kCsIMarker); pQeCsIGr->SetMarkerColor(kCsIColor);
pQeCsIGr->Draw("APL");
pQeCsIGr->Draw("APL");
}
}//main
-
-//__________________________________________________________________________________________________
-Float_t AbsoCH4(Float_t x)
-{//Evaluate the absorbtion lenght of CH4
- Float_t sch4[9] = {.12,.16,.23,.38,.86,2.8,7.9,28.,80.}; //MB X 10^22
- Float_t em[9] = {8.1,8.158,8.212,8.267,8.322,8.378,8.435,8.493,8.55};
- const Float_t kLoschmidt=2.686763e19; // LOSCHMIDT NUMBER IN CM-3
- const Float_t kPressure=750.,kTemperature=283.;
- const Float_t pn=kPressure/760.;
- const Float_t tn=kTemperature/273.16;
- const Float_t c0=-1.655279e-1;
- const Float_t c1=6.307392e-2;
- const Float_t c2=-8.011441e-3;
- const Float_t c3=3.392126e-4;
-
- Float_t crossSection=0;
- if (x<7.75)
- crossSection=.06e-22;
- else if(x>=7.75 && x<=8.1){ //------ METHANE CROSS SECTION cm-2 ASTROPH. J. 214, L47 (1978)
- crossSection=(c0+c1*x+c2*x*x+c3*x*x*x)*1.e-18;
- }else if (x> 8.1){
- Int_t j=0;
- while (x<=em[j] || x>=em[j+1]){
- j++;
- Float_t a=(sch4[j+1]-sch4[j])/(em[j+1]-em[j]);
- crossSection=(sch4[j]+a*(x-em[j]))*1e-22;
- }
- }//if
-
- Float_t density=kLoschmidt*pn/tn; //CH4 molecular density 1/cm-3
- return 1./(density*crossSection);
-}//AbsoCH4()
//__________________________________________________________________________________________________
Float_t Fresnel(Float_t ene,Float_t pdoti, Bool_t pola)
{//ENE(EV), PDOTI=COS(INC.ANG.), PDOTR=COS(POL.PLANE ROT.ANG.)
fresn = fresn*rO;
return(fresn);
-}//Fresnel(...)
+}//Fresnel()
#endif