gROOT->Reset();
#endif
int i;
- const Int_t kNbins=26;
- Float_t aPckov[kNbins];
- for(i=0;i<kNbins;i++){ //Photons energy intervals
- 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 aIndexQuartz[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;
- aIndexQuartz[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,
- 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};
+ 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 aAbsQuartz[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.000199999995, 0.000600000028, 0.000699999975, 0.00499999989, 0.00749999983,
- 0.010125, 0.0242999997, 0.0405000001, 0.0688500032, 0.105299994,
- 0.121500008, 0.141749993, 0.157949999, 0.162, 0.166050002,
- 0.167669997, 0.174299985, 0.176789999, 0.179279998, 0.182599992,
- 0.18592, 0.187579989, 0.189239994, 0.190899998, 0.207499996,
- 0.215799987};
- Float_t aQeCsI2[kNbins] = {0.000199999995, 0.000600000028, 0.000699999975, 0.00499999989, 0.00749999983,
- 0.010125, 0.0242999997, 0.0405000001, 0.0688500032, 0.105299994,
- 0.121500008, 0.141749993, 0.157949999, 0.162, 0.166050002,
- 0.167669997, 0.174299985, 0.176789999, 0.179279998, 0.182599992,
- 0.18592, 0.187579989, 0.189239994, 0.190899998, 0.207499996,
- 0.215799987};
- Float_t aQeCsI3[kNbins] = {0.000199999995, 0.000600000028, 0.000699999975, 0.00499999989, 0.00749999983,
- 0.010125, 0.0242999997, 0.0405000001, 0.0688500032, 0.105299994,
- 0.121500008, 0.141749993, 0.157949999, 0.162, 0.166050002,
- 0.167669997, 0.174299985, 0.176789999, 0.179279998, 0.182599992,
- 0.18592, 0.187579989, 0.189239994, 0.190899998, 0.207499996,
- 0.215799987};
- Float_t aQeCsI4[kNbins] = {0.000199999995, 0.000600000028, 0.000699999975, 0.00499999989, 0.00749999983,
- 0.010125, 0.0242999997, 0.0405000001, 0.0688500032, 0.105299994,
- 0.121500008, 0.141749993, 0.157949999, 0.162, 0.166050002,
- 0.167669997, 0.174299985, 0.176789999, 0.179279998, 0.182599992,
- 0.18592, 0.187579989, 0.189239994, 0.190899998, 0.207499996,
- 0.215799987};
- Float_t aQeCsI5[kNbins] = {0.000199999995, 0.000600000028, 0.000699999975, 0.00499999989, 0.00749999983,
- 0.010125, 0.0242999997, 0.0405000001, 0.0688500032, 0.105299994,
- 0.121500008, 0.141749993, 0.157949999, 0.162, 0.166050002,
- 0.167669997, 0.174299985, 0.176789999, 0.179279998, 0.182599992,
- 0.18592, 0.187579989, 0.189239994, 0.190899998, 0.207499996,
- 0.215799987};
- Float_t aQeCsI6[kNbins] = {0.000199999995, 0.000600000028, 0.000699999975, 0.00499999989, 0.00749999983,
- 0.010125, 0.0242999997, 0.0405000001, 0.0688500032, 0.105299994,
- 0.121500008, 0.141749993, 0.157949999, 0.162, 0.166050002,
- 0.167669997, 0.174299985, 0.176789999, 0.179279998, 0.182599992,
- 0.18592, 0.187579989, 0.189239994, 0.190899998, 0.207499996,
- 0.215799987};
- Float_t aQeCsI7[kNbins] = {0.000199999995, 0.000600000028, 0.000699999975, 0.00499999989, 0.00749999983,
- 0.010125, 0.0242999997, 0.0405000001, 0.0688500032, 0.105299994,
- 0.121500008, 0.141749993, 0.157949999, 0.162, 0.166050002,
- 0.167669997, 0.174299985, 0.176789999, 0.179279998, 0.182599992,
- 0.18592, 0.187579989, 0.189239994, 0.190899998, 0.207499996,
- 0.215799987};
+ 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
+//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;
-//Freon, Quartz, Opaque Quartz,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;
-
- TCanvas *pC=new TCanvas("c1","RICH optics to check",800,900);
+ TCanvas *pC=new TCanvas("c1","RICH optics to check",1100,900);
- pC->Divide(2,2);
-
+ 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,aAbsQuartz);
- 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, "quartz","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,aIndexQuartz);
- 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, "freon","p"); //1
- pIndexMG->Add(pIndexSiO2Gr); pIndexLegend->AddEntry(pIndexSiO2Gr, "quartz","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 *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 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++){//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 *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");
+ 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)
-{
-
- //KLOSCH,SCH4(9),WL(9),EM(9),ALENGTH(31)
- Float_t sch4[9] = {.12,.16,.23,.38,.86,2.8,7.9,28.,80.}; //MB X 10^22
- //Float_t wl[9] = {153.,152.,151.,150.,149.,148.,147.,146.,145};
- 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 kLosch=2.686763E19; // LOSCHMIDT NUMBER IN CM-3
- const Float_t kIgas1=100, kIgas2=0, kOxy=10., kWater=5., kPressure=750.,kTemperature=283.;
- Float_t pn=kPressure/760.;
- Float_t tn=kTemperature/273.16;
-
-
-// ------- METHANE CROSS SECTION -----------------
-// ASTROPH. J. 214, L47 (1978)
-
- Float_t sm=0;
- if (x<7.75)
- sm=.06e-22;
-
- if(x>=7.75 && x<=8.1)
- {
- Float_t c0=-1.655279e-1;
- Float_t c1=6.307392e-2;
- Float_t c2=-8.011441e-3;
- Float_t c3=3.392126e-4;
- sm=(c0+c1*x+c2*x*x+c3*x*x*x)*1.e-18;
- }
-
- 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]);
- sm=(sch4[j]+a*(x-em[j]))*1e-22;
- }
- }
-
- Float_t dm=(kIgas1/100.)*(1.-((kOxy+kWater)/1.e6))*kLosch*pn/tn;
- Float_t abslm=1./sm/dm;
-
-// ------- ISOBUTHANE CROSS SECTION --------------
-// i-C4H10 (ai) abs. length from curves in
-// Lu-McDonald paper for BARI RICH workshop .
-// -----------------------------------------------------------
-
- Float_t ai;
- Float_t absli;
- if (kIgas2 != 0)
- {
- if (x<7.25)
- ai=100000000.;
-
- if(x>=7.25 && x<7.375)
- ai=24.3;
-
- if(x>=7.375)
- ai=.0000000001;
-
- Float_t si = 1./(ai*kLosch*273.16/293.); // ISOB. CRO.SEC.IN CM2
- Float_t di=(kIgas2/100.)*(1.-((kOxy+kWater)/1.e6))*kLosch*pn/tn;
- absli =1./si/di;
- }
- else
- absli=1.e18;
-// ---------------------------------------------------------
-//
-// transmission of O2
-//
-// y= path in cm, x=energy in eV
-// so= cross section for UV absorption in cm2
-// do= O2 molecular density in cm-3
-// ---------------------------------------------------------
-
- Float_t abslo;
- Float_t so=0;
- if(x>=6.0)
- {
- if(x>=6.0 && x<6.5)
- {
- so=3.392709e-13 * TMath::Exp(2.864104 *x);
- so=so*1e-18;
- }
-
- if(x>=6.5 && x<7.0)
- {
- so=2.910039e-34 * TMath::Exp(10.3337*x);
- so=so*1e-18;
- }
-
-
- if (x>=7.0)
- {
- Float_t a0=-73770.76;
- Float_t a1=46190.69;
- Float_t a2=-11475.44;
- Float_t a3=1412.611;
- Float_t a4=-86.07027;
- Float_t a5=2.074234;
- so= a0+(a1*x)+(a2*x*x)+(a3*x*x*x)+(a4*x*x*x*x)+(a5*x*x*x*x*x);
- so=so*1e-18;
- }
-
- Float_t dox=(kOxy/1e6)*kLosch*pn/tn;
- abslo=1./so/dox;
- }
- else
- abslo=1.e18;
-// ---------------------------------------------------------
-//
-// transmission of H2O
-//
-// y= path in cm, x=energy in eV
-// sw= cross section for UV absorption in cm2
-// dw= H2O molecular density in cm-3
-// ---------------------------------------------------------
-
- Float_t abslw;
-
- Float_t b0=29231.65;
- Float_t b1=-15807.74;
- Float_t b2=3192.926;
- Float_t b3=-285.4809;
- Float_t b4=9.533944;
-
- if(x>6.75)
- {
- Float_t sw= b0+(b1*x)+(b2*x*x)+(b3*x*x*x)+(b4*x*x*x*x);
- sw=sw*1e-18;
- Float_t dw=(kWater/1e6)*kLosch*pn/tn;
- abslw=1./sw/dw;
- }
- else
- abslw=1.e18;
-
-// ---------------------------------------------------------
-
- Float_t alength=1./(1./abslm+1./absli+1./abslo+1./abslw);
- return (alength);
-}//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.)
+{//ENE(EV), PDOTI=COS(INC.ANG.), PDOTR=COS(POL.PLANE ROT.ANG.)
Float_t en[36] = {5.0,5.1,5.2,5.3,5.4,5.5,5.6,5.7,5.8,5.9,6.0,6.1,6.2,
6.3,6.4,6.5,6.6,6.7,6.8,6.9,7.0,7.1,7.2,7.3,7.4,7.5,7.6,7.7,
fresn = fresn*rO;
return(fresn);
-}//Fresnel(...)
+}//Fresnel()
#endif