proton MC status and analysis procedure

New BT data are available. It is encouraged to use:
  • BT.B950 : Data produced with the same gbatch version as pass6
  • Un-wanted feature was found in BT.B950; please check the following procedure in the bottom
  • Residual mis-alignment was reported by W.Xu and it is now updated; please check the following procedure in the bottom

TBMC study is on-going
  • protons.B1015/ Purpose : To check the difference between FTFP and QGSP models
    • pr.pl1.ecal.400.tb.2010.ftfp_bert
    • pr.pl1.ecal.400.tb.2010.qgsp
  • protons.B1024/ Purpose : Beam position table is updated to be closer to the data
    • pr.pl1.ecal.400.tb.2010.qgsp
  • protons.B1026/ Purpose : Physics list updated by W.Xu in low energy (no difference is expected to B1024)
    • pr.pl1.ecal.400.tb.2010.qgsp
  • protons.B1027/ Purpose : Bug fixed for dE/dx simulation in TRD gas in Geant4.10.01.
    • pr.pl1.ecal.400.tb.2010.qgsp
  • protons.B1029/ Purpose : DiffuseElastic model introduced and to be checked
    • pr.pl1.ecal.400.tb.2010.qgsp_bic_ams_difu unavailable due to validation failure
  • protons.B1030/ Purpose : DiffuseElastic model introduced and bug fix of MultiThread and un-realistic behavior of nuclei production
    • pr.pl1.ecal.400.tb.2010.qgsp_bic_ams_difu
  • protons.B1030/ Purpose : Cross section bias study (+/-10% on inelastic cross section) based on B1027 MC
    • pr.pl1.ecal.400.tb.2010.qgsp_bic_ams_c090
    • pr.pl1.ecal.400.tb.2010.qgsp_bic_ams_c110
  • protons.B1034/ Purpose : G4WentzelVIModel for Multiple Scattering introduced by V. Choutko
    • pr.pl1.ecal.400.tb.2010.qgsp_bic_ams.job
  • protons.B1034/ Purpose : G4WentzelVIModel for Multiple Scattering and Cross section bias study (+/-10% on elastic cross section)
    • pr.pl1.ecal.400.tb.2010.qgsp_bic_ams_e090.job
    • pr.pl1.ecal.400.tb.2010.qgsp_bic_ams_e110.job
  • New point-by-point tuning is done by W.Xu please use
TRMCFFKEY.MCtuneDs[0] = 111;  // For X; New tuning by W.Xu
TRMCFFKEY.MCtuneDs[1] = 111;  // For Y; New tuning by W.Xu

pl1.1200 MC study is on-going
  • protons.B1015/ Purpose : To check the difference between different physics lists
    • pr.pl1.1200.ftfp_bert
    • pr.pl1.1200.qgsp_bert
    • pr.pl1.1200.qgsp_bic
  • protons.B1027/ Purpose : New physics list, QGSP_BIC_AMS introduced by W.Xu and bug fixed for dE/dx simulation in TRD gas in Geant4.10.01
    • pr.pl1.1200.qgsp_bic_ams
  • protons.B1029/ Purpose : DiffuseElastic model introduced and to be checked
    • pr.pl1.1200.qgsp_bic_ams_difu unavailable due to validation failure
  • protons.B1030/ Purpose : DiffuseElastic model introduced and bug fix of MultiThread and un-realistic behavior of nuclei production
    • pr.pl1.1200.qgsp_bic_ams_difu
  • protons.B1030/ Purpose : Cross section bias study (+/-10% on inelastic cross section) based on B1027 MC
    • pr.pl1.1200.qgsp_bic_ams_c090
    • pr.pl1.1200.qgsp_bic_ams_c110
  • protons.B1033/ Purpose : Small tuning of TRD ADC spectrum tail (secondary electrons < 200 keV killed on tube's inner wall) by T. Räihä. In B1031 more realistic TRD noise threshold was implemented by Bastian
    • pr.pl1.0_510.qgsp_bic_ams
    • pr.pl1.10200.qgsp_bic_ams
  • protons.B1034/ Purpose : G4WentzelVIModel for Multiple Scattering introduced by V. Choutko
    • pr.pl1.1200.qgsp_bic_ams.job
  • protons.B1034/ Purpose : G4WentzelVIModel for Multiple Scattering and Cross section bias study (+/-10% on elastic cross section)
    • pr.pl1.1200.qgsp_bic_ams_e090.job
    • pr.pl1.1200.qgsp_bic_ams_e110.job

Antiproton MC study is on-going
  • antiprotons.B1028/ Purpose : FTFP is the only available model for antiprotons in geant4.10. We should check and have a feeling on this
    • antipr.pl1.1200.qgsp_bic_ams.job

MC up coming plans (a few weeks time scale)
  • Check DiffuseElastic model -> Seems to be non-realistic, checked by WX and SH.
  • Apply ~10% bias on elastic and inelastic cross section independently for test beam and pl1.1200 MC, and select the best one -> On-going now.
  • Try to solve the discrepancy in Track quality parameters (e.g. ChisqY) between Data and MC
  • Start the mass production of flux MC (20GV to 16 TV) based on the published proton flux, to be used to estimate the charge confusion

Suggested selection procedure for 400GeV Test Beam Data and MC

#include "tkdcards.h"

// Before the event loop, before opening any AMS root files
TkDBc::GetFromTDV(1281400000, 3);  // Force to use the new test beam alignment

// Inside the event loop
for (int ievent = 0; ievent < nevent; ievent++) {

  // Get event and check if there is particle 
  AMSEventR *event = amschain->GetEvent(ievent);
  ParticleR *particle = event->pParticle(0);
  if (!particle) continue;

  // Check if there is TrTrack
  if (!particle->pTrTrack()) continue;  // Skip this event

  double d;
  int ibeam = event->GetBeamPos(d);  // Get Beam Position (1-416) and distance
  if (ibeam <= 0) continue; // Error or no beam position found => skip this event
  if (d > 2) continue; // Distance to the beam is too large => skip this event

  // External trigger bit should NOT be applied (ext. trigger was not working for some beam positions)
  // JMembPatt&0xc000 == 0xc000

  // Get the primary track
  TrTrackR *trk = particle->pTrTrack();

  // Assuming in this analysis L1,L2 and L9 hits are required
  if (!trk->TestHitLayerJ(2) || !trk->TestHitLayerJ(1) || !trk->TestHitLayerJ(9)) continue;  // <= skip event

  // Assuming in this analysis L1 and L9 hits have XY hit
  if (!trk->TestHitLayerJHasXY(1) || !trk->TestHitLayerJHasXY(9)) continue;  // <= skip this event

  // ===============================================================
  // Drop outer layers (You can apply for everything but it affects for BT.B950 only)
  int itp = trk->iTrTrackPar(1, 3, 0);  // Get Inner tracker fitting
  if (itp < 0) continue;  // => skip this event

  AMSPoint coo1 = trk->GetHitCooLJ(1);
  AMSPoint coo9 = trk->GetHitCooLJ(9);
  AMSPoint trp1 = trk->InterpolateLayerJ(1, itp);
  AMSPoint trp9 = trk->InterpolateLayerJ(9, itp);

  // Correct the limit parameters which were set as 5 for BT.B950
  if (TRFITFFKEY.MergeExtLimX > 0.5 || TRFITFFKEY.MergeExtLimY > 0.5) 
    TRFITFFKEY.MergeExtLimX = TRFITFFKEY.MergeExtLimY = 0.5;

  float limx = TRFITFFKEY.MergeExtLimX;
  float limy = TRFITFFKEY.MergeExtLimY;

  float rig  = trk->GetRigidity(itp);
  float sp0  = 0.02;
  float sp1  = 1;
  float rcor = std::sqrt(sp0*sp0+sp1*sp1/rig/rig);
  float sigx = limx*rcor;
  float sigy = limy*rcor;

  float diffX_max = sigx*4;
  float diffY_max = sigy*4;
  if (diffX_max > limx*10) diffX_max = limx*10;
  if (diffY_max > limy*10) diffY_max = limy*10;

  if (fabs(coo1.x()-trp1.x()) > diffX_max ||
      fabs(coo1.y()-trp1.y()) > diffY_max) continue;  // <= L1 hit should not exist; skip event

  if (fabs(coo9.x()-trp9.x()) > diffX_max ||
      fabs(coo9.y()-trp9.y()) > diffY_max) continue;  // <= L9 hit should not exist; skip event

  // Drop outer layers (You can apply for everything but it affects for BT.B950 only)
  // ===============================================================


  // Test beam event weight factor to fill histograms for MC
  float weight = 1;
  if (event->nMCEventg()) weight = AMSEventR::GetBeamWeight(ibeam); 

  // Use this weight to fill histograms
  hist->Fill(XXX, weight);
}
Topic revision: r10 - 2015-06-05 - SadakazuHaino
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    AMS All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright &© 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback