Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-09-27 07:03:44

0001 
0002 //
0003 // root -l dconfig.C
0004 //
0005 
0006 void dconfig_chandra( void )
0007 {
0008   auto delphes = new DelphesConfigRICH("pfRICH");
0009 
0010   // Define particle mass hypotheses in ascending mass order; yes, there is no 
0011   // reason to overcomplicate things;
0012   delphes->AddMassHypothesis("pi+");
0013   delphes->AddMassHypothesis("K+");
0014   delphes->AddMassHypothesis("proton");
0015 
0016   // Define radiator refractive index;
0017   delphes->SetRefractiveIndex(1.019);
0018   // Imitate tracker resolution;
0019   delphes->SetAdditionalSmearing(0.50);
0020 
0021   // Define eta ranges in ascending order;
0022   {
0023     auto eta = delphes->AddEtaRange(-3.8, -2.8);
0024 
0025     // Arguments [0..1]: momentum ranges for this eta in [GeV] in ascending order without gaps, 
0026     // Arguments [2..N]: sigma values in [mrad] matching the mass hypotheses above, in the same 
0027     // ascending order used to call delphes->AddMassHypothesis(); 
0028     eta->AddMomentumRange( 0.9, 2.9, 1.5, 0.0, 0.0);
0029     eta->AddMomentumRange( 2.9, 3.1, 1.65, 4.83, 0.0);
0030     eta->AddMomentumRange( 3.1, 3.5, 1.83, 7.72, 0.0);
0031     eta->AddMomentumRange( 3.5, 4.5, 1.51, 1.63, 0.0);
0032     eta->AddMomentumRange( 4.5, 5.5, 1.48, 1.60, 0.0);
0033     eta->AddMomentumRange( 5.5, 6.1, 1.51, 1.63, 5.10);
0034     eta->AddMomentumRange( 6.1, 6.5, 1.83, 1.5, 4.70);
0035     eta->AddMomentumRange( 6.5, 7.5, 1.43, 1.76, 6.48);
0036     eta->AddMomentumRange( 7.5, 8.5, 1.82, 1.81, 4.67);
0037     eta->AddMomentumRange( 8.5, 9.5, 1.75, 1.58, 3.52);
0038     eta->AddMomentumRange( 9.5, 10.5, 1.52, 1.60, 1.82);
0039     eta->AddMomentumRange(10.5, 11.5, 1.75, 1.63, 1.90);
0040     eta->AddMomentumRange(11.5, 12.5, 1.32, 1.64, 1.54);
0041     eta->AddMomentumRange(12.5, 13.5, 1.57, 1.58, 1.70);
0042     eta->AddMomentumRange(13.5, 14.5, 1.49, 1.51, 1.84);
0043     eta->AddMomentumRange(14.5, 15.5, 1.52, 1.58, 1.73);
0044   }
0045   {
0046     auto eta = delphes->AddEtaRange(-2.8, -1.9);
0047 
0048     // Well, average bin momentum is used to calculate Cherenkov theta, so the bins
0049     // should not be too wide in the areas where dtheta/dp is high for at least one 
0050     // of the hypotheses; 
0051     eta->AddMomentumRange( 0.9, 2.9, 1.5, 0.0, 0.0);
0052     eta->AddMomentumRange( 2.9, 3.1, 1.87, 5.15, 0.0);
0053     eta->AddMomentumRange( 3.1, 3.5, 1.63, 6.20, 0.0);
0054     eta->AddMomentumRange( 3.5, 4.5, 1.73, 1.52, 0.0);
0055     eta->AddMomentumRange( 4.5, 5.5, 1.71, 1.55, 0.0);
0056     eta->AddMomentumRange( 5.5, 6.1, 1.48, 1.50, 5.00);
0057     eta->AddMomentumRange( 6.1, 6.5, 1.83, 1.5, 4.0);   
0058     eta->AddMomentumRange( 6.5, 7.5, 1.53, 1.78, 5.77);
0059     eta->AddMomentumRange( 7.5, 8.5, 1.72, 1.67, 4.30);
0060     eta->AddMomentumRange( 8.5, 9.5, 1.65, 1.47, 2.80);
0061     eta->AddMomentumRange( 9.5, 10.5, 1.52, 1.48, 1.95);
0062     eta->AddMomentumRange(10.5, 11.5, 1.43, 1.50, 1.83);
0063     eta->AddMomentumRange(11.5, 12.5, 1.40, 1.54, 1.73);
0064     eta->AddMomentumRange(12.5, 13.5, 1.35, 1.45, 1.72);
0065     eta->AddMomentumRange(13.5, 14.5, 1.53, 1.47, 1.66);
0066     eta->AddMomentumRange(14.5, 15.5, 1.54, 1.44, 1.54);
0067   }
0068 
0069   {
0070     auto eta = delphes->AddEtaRange(-1.9, -1.5);
0071 
0072     eta->AddMomentumRange( 0.9, 2.9, 1.5, 0.0, 0.0);
0073     eta->AddMomentumRange( 2.9, 3.1, 1.50, 3.8, 0.0);
0074     eta->AddMomentumRange( 3.1, 3.5, 1.83, 7.8, 0.0);    
0075     eta->AddMomentumRange( 3.5, 4.5, 1.62, 2.12, 0.0);
0076     eta->AddMomentumRange( 4.5, 5.5, 1.73, 1.70, 0.0);
0077     eta->AddMomentumRange( 5.5, 6.1, 1.44, 1.56, 6.5);
0078     eta->AddMomentumRange( 6.1, 6.5, 1.83, 1.5, 4.0);    
0079     eta->AddMomentumRange( 6.5, 7.5, 1.53, 1.46, 5.40);
0080     eta->AddMomentumRange( 7.5, 8.5, 1.65, 1.52, 3.69);
0081     eta->AddMomentumRange( 8.5, 9.5, 1.41, 1.48, 2.52);
0082     eta->AddMomentumRange( 9.5, 10.5, 1.32, 1.49, 1.62);
0083     eta->AddMomentumRange(10.5, 11.5, 1.49, 1.51, 1.80);
0084     eta->AddMomentumRange(11.5, 12.5, 1.43, 1.48, 1.82);
0085     eta->AddMomentumRange(12.5, 13.5, 1.54, 1.47, 1.70);
0086     eta->AddMomentumRange(13.5, 14.5, 1.50, 1.51, 1.66);
0087     eta->AddMomentumRange(14.5, 15.5, 1.50, 1.49, 1.54); } 
0088 
0089   // This call also makes a guess on the kaon and proton thresholds;
0090   delphes->AddZeroSigmaEntries();
0091   delphes->Print();
0092   delphes->WriteTcl();
0093   {
0094     auto fout = new TFile("pfRICH.root", "RECREATE");
0095     delphes->Write();
0096     fout->Close();
0097   }
0098   exit(0);
0099 } // dconfig()