p/He/light-nuclei/highZ-nuclei pass7 analysis

Update at the latest analysis library (as of April/2018 or later, Build >= 1202)
  • This page includes the latest information about pass7 p/He/nuclei

Pass7 new feature
  • Particle(0) is always valid by the new assembling sequence
  • New TrTrack reconstruction algorithm (cellular automaton) and higher reconstruction efficiency for all particles species
  • No need for Track refitting to apply latest XYZ linearized coordinate calculation
  • New Track Fitting algorithm (Kalman) has been implemented and stored into the rootfiles
  • Several bugs in TrCluster/TrRecHit reconstruction and formation were fixed

Pass7 Data
  • /eos/ams/Data/AMS02/2018/ISS.B1130/pass7

Pass7 MC
  • proton: B1200_400
    • /eos/ams/MC/AMS02/2018/Pr.B1200/pr.pl1.05100.4_00
    • /eos/ams/MC/AMS02/2018/Pr.B1200/pr.pl1.l1.054000.4_00
  • helium: B1200_400
    • /eos/ams/MC/AMS02/2018/He.B1200/he4.pl1.l1.24000.4_00
    • /eos/ams/MC/AMS02/2018/He.B1200/he4.pl1.l19.216000.4_00
  • lithium: B1200_400 (Li6/Li7)
    • isotope composition: 50%Li6+50%Li7 (flux measurement)
    • /eos/ams/MC/AMS02/2018/Li.B1200/li6.pl1.l1.36000.4_00
    • /eos/ams/MC/AMS02/2018/Li.B1200/li6.pl1.l19.624000.4_00
    • /eos/ams/MC/AMS02/2018/Li.B1200/li7.pl1.l1.36000.4_00
    • /eos/ams/MC/AMS02/2018/Li.B1200/li7.pl1.l19.624000.4_00
  • beryllium: B1200_400 (Be7/Be9/Be10)
    • isotope composition: 50%Be7+50%Be9 (flux measurement)
    • /eos/ams/MC/AMS02/2018/Be.B1200/be7.pl1.l1.48000.4_00
    • /eos/ams/MC/AMS02/2018/Be.B1200/be7.pl1.l19.832000.4_00
    • /eos/ams/MC/AMS02/2018/Be.B1200/be9.pl1.l1.48000.4_00
    • /eos/ams/MC/AMS02/2018/Be.B1200/be9.pl1.l19.832000.4_00
    • /eos/ams/MC/AMS02/2018/Be.B1200/be10.pl1.l1.48000.4_00
    • /eos/ams/MC/AMS02/2018/Be.B1200/be10.pl1.l19.832000.4_00
  • boron: B1200_400 (B10/B11)
    • isotope composition: 30%B10+70%B11 (flux measurement)
    • /eos/ams/MC/AMS02/2018/B.B1200/b10.pl1.l1.510000.4_00
    • /eos/ams/MC/AMS02/2018/B.B1200/b10.pl1.l19.1040000.4_00
    • /eos/ams/MC/AMS02/2018/B.B1200/b11.pl1.l1.510000.4_00
    • /eos/ams/MC/AMS02/2018/B.B1200/b11.pl1.l19.1040000.4_00
  • nitrogen: B1200_400 (N14/N15)
    • isotope composition: 50%N14+50%N15 (flux measurement)
    • /eos/ams/MC/AMS02/2018/N.B1200/n14.pl1.l1.714000.4_00
    • /eos/ams/MC/AMS02/2018/N.B1200/n14.pl1.l19.1456000.4_00
    • /eos/ams/MC/AMS02/2018/N.B1200/n15.pl1.l1.714000.4_00
    • /eos/ams/MC/AMS02/2018/N.B1200/n15.pl1.l19.1456000.4_00
  • carbon: B1215_401 (C12) NEW
    • /eos/ams/MC/AMS02/2018/C.B1215/c12.pl1.l1.612000.4_01
    • /eos/ams/MC/AMS02/2018/C.B1215/c12.pl1.l19.1248000.4_01
  • oxygen: B1213_401 (O16) NEW
    • /eos/ams/MC/AMS02/2018/O.B1213/o16.pl1.l1.816000.4_01
    • /eos/ams/MC/AMS02/2018/O.B1213/o16.pl1.l19.1664000.4_01
  • neon: B1220_402 (Ne20) NEW
    • /eos/ams/MC/AMS02/2018/Ne.B1220/ne20.pl1.l1.1020000.4_02
    • /eos/ams/MC/AMS02/2018/Ne.B1220/ne20.pl1.l19.2080000.4_02
  • magnesium: B1215_401 (Mg24) NEW
    • /eos/ams/MC/AMS02/2018/Mg.B1215/mg24.pl1.l1.1224000.4_01
    • /eos/ams/MC/AMS02/2018/Mg.B1215/mg24.pl1.l19.2496000.4_01
  • silicon: B1214_401 (Si28) NEW
    • /eos/ams/MC/AMS02/2018/Si.B1214/si28.pl1.l1.1428000.4_01
    • /eos/ams/MC/AMS02/2018/Si.B1214/si28.pl1.l19.28112000.4_01
  • sulfur: B1215_401 (S32) NEW
    • /eos/ams/MC/AMS02/2018/S.B1215/s32.pl1.l1.1632000.4_01
    • /eos/ams/MC/AMS02/2018/S.B1215/s32.pl1.l19.32128000.4_01

Pass7 Data/MC reduction
  • Before the event loop (settings):

// Latest RTI database(pass7) 
AMSSetupR::RTI::UseLatest(7); 
// Latest alignment  
TkDBc::UseFinal();
// Disabling reading settings from file  
TRMCFFKEY.ReadFromFile = 0; 
TRFITFFKEY.ReadFromFile = 0; 

  • In the event loop (settings)
bool isiss=(pev->nMCEventg()==0);//Data or MC
// ISS Enable Linearity(charge Z>=1) and dZ correction
if(isiss){ 
   TrLinearEtaDB::SetLinearCluster();
   TRFITFFKEY.Zshift=2;
}
// MC Smearing
else { 
   pev->SetDefaultMCTuningParameters();
   TrExtAlignDB::SmearExtAlign();//MC Smear Ext-Layer
   TRCLFFKEY.UseSensorAlign = 0;
   TRCLFFKEY.ClusterCofGOpt=1;
   TRFITFFKEY.Zshift=-1;
}
TRFITFFKEY.ErcHeY=0; 

  • Should use new Rigidity-Scale (V3) for 7 years data (Q. Yan): NEW
    • AMSEventR(TrTrackR)::GetCorrectedRigidity(int version=3)
    • apply additionally correction for L1Inner Rigidity-Scale(large L1Inner acceptance): AMSEventR::GetCorrectedGeomRigidity(1/10TV-1 scale shift)

  • In the track fitting
// Fitting charge, mass and refit for Data/MC
int InitTrkReFit(float tkiq,bool isiss,int &refit,float &mass,int &chrg){ 
  chrg=int(tkiq+0.5);
  if(chrg<1)chrg=1;
  mass=TrFit::Mproton;//Proton
  if(chrg>=2)mass=TrFit::Mhelium/2*chrg;//Helium+Ion
  refit=(isiss)? 0: 3 // pass7 don't need refit 
  // in case of using electron and positron fitting, please set: chrg=1; mass=TrFit::Melectron; refit=3;
  return 0;
}

// Get particle parameters for Track fitting
bool isiss=(pev->nMCEventg()==0);//Data or MC
float beta=betah->GetBeta();
float q_inn=trk->GetInnerQ_all(beta,0).Mean;
int algo=1, patt=0, refit=0, chrg=0;
float mass=0;
InitTrkReFit(q_inn,isiss,refit,mass,chrg);

// Fitting rigidity
for(int ialgo=0;ialgo<3;ialgo++){
  if     (ialgo==0)algo=1;//Choutko
  else if(ialgo==1)algo=2;//Alcaraz
  else if(ialgo==2)algo=6;//Kalman
  for(int isp=0;isp<=3;isp++){
    if     (isp==0)patt=3;//Inner
    else if(isp==1)patt=5;//Inner+Layer1
    else if(isp==2)patt=6;//Inner+Layer9
    else if(isp==3)patt=7;//Inner+Layer1+Layer9
    int mfit=trk->iTrTrackPar(algo,patt,20+refit,mass,chrg); //PG+CIEMAT
    if(mfit>=0){
      float nrigp[5]={0};
      for(int iz=-1;iz<4;iz++){
        if(isiss)nrigp[iz+1]=trk->GetCorrectedRigidity(mfit,3,iz); //7years new rigidity scale (V3) correction (Q. Yan) [New]
        else    nrigp[iz+1]=trk->GetRigidity(mfit,iz);
      }
      float rigidity=nrigp[1];//top of instrument (TOI) Rigidity, Kalman has minimal bias
    }
  }
}

  • List of few full-span refitting events of pass7 for crosscheck, TOI Rigidity trk->GetCorrectedRigidity(mfit,1,0):
Run Event InnerZ Fitting Algo Rigidity-Inner ChisY-Inner Rigidity-L1I ChisY-L1I Rigidity-FS ChisY-FS
1417194135 2007 1 Choutko 41.7325 1.72749 47.2186 1.63971 41.6033 1.53406
1417194135 2007 1 Kalman 41.6686 1.70487 45.3532 1.54363 41.2985 1.39758
1417194135 2606 2 Choutko 66.8587 2.36499 66.5265 1.89295 67.817 1.59158
1417194135 2606 2 Kalman 66.5478 2.39587 66.3662 1.9168 67.5062 1.59788
1417194135 63504 3 Choutko 21.8944 0.769535 21.5654 0.886275 21.0051 1.22776
1417194135 63504 3 Kalman 22.5025 0.865002 22.1037 0.927446 21.0809 0.98017
1417194135 249187 6 Choutko 28.8484 1.21069 28.328 1.46169 28.3289 1.21954
1417194135 249187 6 Kalman 29.2729 1.42854 28.8983 1.47255 28.6793 1.24774
1417194135 341207 8 Choutko 115.306 1.12805 126.206 0.986821 125.436 0.822072
1417194135 341207 8 Kalman 115.63 1.0822 123.429 0.919195 124.604 0.81067

MIT latest pass7 DST
  • /afs/cern.ch/user/q/qyan/public/DSTvdev/analysis_amsd60n.C
  • /eos/ams/group/mit/amsd60n_TMTFNTotHB_B1130P7

Charge definition (Z>=9) NEW
int fit_id=0;
float betac=(pev->nMCEventg()>0)?betah->GetMCBeta():betah->GetBeta(); //MC or Data
float frig=track->GetRigidity(fid_id);
// tof charge definition
float q_utof = betah->GetQ(n,rms,2,TofClusterHR::DefaultQOptIonW,1100,betac,rigidity); 
float q_ltof = betah->GetQ(n,rms,2,TofClusterHR::DefaultQOptIonW,11,betac,rigidity);
// new tracker charge based on H. Liu's calibration
float q_l1x= track->GetLayerJQH(1,0,betac,fit_id);
float q_l1y= track->GetLayerJQH(1,1,betac,fit_id);
float q_l1 = track->GetLayerJQH(1,2,betac,fit_id);
float q_inn=track->GetInnerQH_all(2,betac,fid).Mean; 
float q_l9x= track->GetLayerJQH(9,0,betac,fit_id);
float q_l9y= track->GetLayerJQH(9,1,betac,fit_id);
float q_l9 = track->GetLayerJQH(9,2,betac,fit_id);
// new tracker charge based on Y. Jia's calibration (suggest to use)
float q_l1x= track->GetLayerQYJ_all(1,0,betac,fit_id).Q; 
float q_l1y= track->GetLayerQYJ_all(1,1,betac,fit_id).Q; 
float q_l1 = track->GetLayerQYJ_all(1,2,betac,fit_id).Q; 
float q_inn=track->GetQYJ_all(2,betac,fid_id).InnerQ;
float q_l9x= track->GetLayerQYJ_all(9,0,betac,fit_id).Q; 
float q_l9y= track->GetLayerQYJ_all(9,1,betac,fit_id).Q; 
float q_l9 = track->GetLayerQYJ_all(9,2,betac,fit_id).Q;
// default tracker charge
float q_l1x = track->GetHitLJ(1)? track->GetHitLJ(1)->GetQ(0,betac,frig):0;
float q_l1y = track->GetHitLJ(1)? track->GetHitLJ(1)->GetQ(1,betac,frig):0;
float q_l1 = track->GetLayerJQ(1,betac,fit_id);
float q_inn = track->GetInnerQ_all(betac,fit_id).Mean; 
float q_l9x = track->GetHitLJ(9)? track->GetHitLJ(9)->GetQ(0,betac,frig):0;
float q_l9y = track->GetHitLJ(9)? track->GetHitLJ(9)->GetQ(1,betac,frig):0;
float q_l9 = track->GetLayerJQ(9,betac,fit_id); 
// good status for external Tracker hits
int qstatus_l1 = track->GetHitLJ(1)->GetQStatus();
int qstatus_l9 = track->GetHitLJ(9)->GetQStatus();

Guidelines for HighZ Ion selection (Z>=9) NEW

  • SAA cut (by geographic coordinates)
    • bool AMSEventR::IsInSAA(int time = 0); // 0 : use current event time
    • bool AMSSetupR::RTI::IsInSAA();

  • RTI cut:
    • Good RTI, (RTI.good&0x3F)==0, Life time > 0.5, Zenith < 40 deg,
    • R_FS(R_L1Inner) > 1.2 *IGRF (30 deg+)

  • Remove bad runs (Trigger study)
    • 1306219312, 1306219522, 1306233745, 1307125541<= RUN<=1307218054, 1321198167 (Ecal)
    • bad runs reason, AMSSetupR::RTI::IsBadRun (string &reason)

  • Restrict within 7 years pass7 data (Synchronize with new 7 years Rigidity-Scale) NEW
    • 1305853512<=RUN<=1527490046

  • Beta cuts

  • Charge selection Z>=9 (Q. Yan): NEW
    • fabs(q_inn-Z) < (Z>=14)? 0.5 : 0.0075*pow(Z,1.414)+0.198;
    • Z-0.0585*pow(Z,1.15)-0.35 < q_l1 < Z+0.0334*pow(Z,1.15)+0.20 && fabs(q_l1x-q_l1y)/(q_l1x+q_l1y) < 0.2 && (qstatus_l1&0x10013D)==0
    • Z-0.0284*pow(Z,1.15)-0.17 < q_l9 < Z+0.0585*pow(Z,1.15)+0.35 && fabs(q_l9x-q_l9y)/(q_l9x+q_l9y) < 0.2 (for FS analysis)
    • Z-0.625-0.0225*(Z-9) < q_utof < Z+1.5
    • q_ltof > Z-0.625-0.0225*(Z-9) (for FS analysis)

  • Tracker fiducial volume cut:
    • L1&L2&(L3|L4)&(L5|L6)&(L7|L8)&L9 (>=5 InnerLays) for FS analysis
    • L1&L2&(L3|L4)&(L5|L6)&(L7|L8) (>=5 InnerLays) for L1Inner analysis
    • L1: |R|<62cm, |Y|<47cm
    • L2: |R|<62cm, |Y|<40cm
    • L3: |R|<46cm, |Y|<44cm
    • L4: |R|<46cm, |Y|<44cm
    • L5: |R|<46cm, |Y|<36cm
    • L6: |R|<46cm, |Y|<36cm
    • L7: |R|<46cm, |Y|<44cm
    • L8: |R|<46cm, |Y|<44cm
    • L9: |X|<43cm, |Y|<29cm

-- QiYan - 2019-01-30

Edit | Attach | Watch | Print version | History: r20 < r19 < r18 < r17 < r16 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r20 - 2019-06-21 - QiYan
 
    • 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-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback