Skip to content
Snippets Groups Projects
Commit 24d72ec3 authored by Christopher Rob Jones's avatar Christopher Rob Jones
Browse files

RichMCCherenkovResolution: Add inner/outer region res plots

parent cbd23dd6
No related branches found
No related tags found
2 merge requests!3788Draft: Update SciFi cluster monitoring,!3753RICH Add detector regions to pixel objects
......@@ -182,6 +182,16 @@ namespace Rich::Future::Rec::MC::Moni {
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_fabsdiffckVckang = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_fabsdiffckVPtot = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_diffckVckangInner = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_diffckVPtotInner = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_fabsdiffckVckangInner = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_fabsdiffckVPtotInner = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_diffckVckangOuter = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_diffckVPtotOuter = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_fabsdiffckVckangOuter = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_fabsdiffckVPtotOuter = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_ckPullVckang = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_ckPullVPtot = {{}};
RadiatorArray<ParticleArray<AIDA::IProfile1D*>> h_fabsCkPullVckang = {{}};
......@@ -232,6 +242,7 @@ StatusCode CherenkovResolution::prebookHistograms() {
"Momentum / MeV/c", "Cherenkov Theta Resolution / rad" ) );
// photon plots
// Combined
ok &= saveAndCheck( h_diffckVckang[rad][hypo], //
richProfile1D( HID( "diffckVckang", rad, hypo ), //
"Rec-Exp CKtheta V CKtheta - MC true photons", //
......@@ -252,6 +263,49 @@ StatusCode CherenkovResolution::prebookHistograms() {
"fabs(Rec-Exp) CKtheta V ptot - MC true photons", //
m_minP[rad], m_maxP[rad], nBins1D(), //
"Momentum / MeV/c", "abs(delta(Cherenkov Theta)) / rad" ) );
// Inner Regions
ok &= saveAndCheck( h_diffckVckangInner[rad][hypo], //
richProfile1D( HID( "diffckVckangInner", rad, hypo ), //
"Rec-Exp CKtheta V CKtheta - MC true photons - Inner Region", //
m_ckThetaMin[rad], m_ckThetaMax[rad], nBins1D(), //
"Cherenkov Theta / rad", "delta(Cherenkov Theta) / rad" ) );
ok &= saveAndCheck( h_diffckVPtotInner[rad][hypo], //
richProfile1D( HID( "diffckVPtotInner", rad, hypo ), //
"Rec-Exp CKtheta V ptot - MC true photons - Inner Region", //
m_minP[rad], m_maxP[rad], nBins1D(), //
"Momentum / MeV/c", "delta(Cherenkov Theta) / rad" ) );
ok &= saveAndCheck( h_fabsdiffckVckangInner[rad][hypo],
richProfile1D( HID( "fabsdiffckVckangInner", rad, hypo ), //
"fabs(Rec-Exp) CKtheta V CKtheta - MC true photons - Inner Region", //
m_ckThetaMin[rad], m_ckThetaMax[rad], nBins1D(), //
"Cherenkov Theta / rad", "abs(delta(Cherenkov Theta)) / rad" ) );
ok &= saveAndCheck( h_fabsdiffckVPtotInner[rad][hypo], //
richProfile1D( HID( "fabsdiffckVPtotInner", rad, hypo ), //
"fabs(Rec-Exp) CKtheta V ptot - MC true photons - Inner Region", //
m_minP[rad], m_maxP[rad], nBins1D(), //
"Momentum / MeV/c", "abs(delta(Cherenkov Theta)) / rad" ) );
// Outer Regions
ok &= saveAndCheck( h_diffckVckangOuter[rad][hypo], //
richProfile1D( HID( "diffckVckangOuter", rad, hypo ), //
"Rec-Exp CKtheta V CKtheta - MC true photons - Outer Region", //
m_ckThetaMin[rad], m_ckThetaMax[rad], nBins1D(), //
"Cherenkov Theta / rad", "delta(Cherenkov Theta) / rad" ) );
ok &= saveAndCheck( h_diffckVPtotOuter[rad][hypo], //
richProfile1D( HID( "diffckVPtotOuter", rad, hypo ), //
"Rec-Exp CKtheta V ptot - MC true photons - Outer Region", //
m_minP[rad], m_maxP[rad], nBins1D(), //
"Momentum / MeV/c", "delta(Cherenkov Theta) / rad" ) );
ok &= saveAndCheck( h_fabsdiffckVckangOuter[rad][hypo],
richProfile1D( HID( "fabsdiffckVckangOuter", rad, hypo ), //
"fabs(Rec-Exp) CKtheta V CKtheta - MC true photons - Outer Region", //
m_ckThetaMin[rad], m_ckThetaMax[rad], nBins1D(), //
"Cherenkov Theta / rad", "abs(delta(Cherenkov Theta)) / rad" ) );
ok &= saveAndCheck( h_fabsdiffckVPtotOuter[rad][hypo], //
richProfile1D( HID( "fabsdiffckVPtotOuter", rad, hypo ), //
"fabs(Rec-Exp) CKtheta V ptot - MC true photons - Outer Region", //
m_minP[rad], m_maxP[rad], nBins1D(), //
"Momentum / MeV/c", "abs(delta(Cherenkov Theta)) / rad" ) );
// pull plots
ok &= saveAndCheck( h_ckPullVckang[rad][hypo], //
richProfile1D( HID( "ckPullVckang", rad, hypo ), //
......@@ -395,10 +449,23 @@ void CherenkovResolution::operator()( const Summary::Track::Vector&
// fill some plots for true photons only
if ( trueCKSig ) {
// Res versus Ptot and CK theta
fillHisto( h_diffckVckang[rad][pid], thetaExp, deltaTheta, mcPW );
fillHisto( h_diffckVPtot[rad][pid], pTot, deltaTheta, mcPW );
fillHisto( h_fabsdiffckVckang[rad][pid], thetaExp, fabs( deltaTheta ), mcPW );
fillHisto( h_fabsdiffckVPtot[rad][pid], pTot, fabs( deltaTheta ), mcPW );
if ( simdPix.isInnerRegion()[i] ) {
fillHisto( h_diffckVckangInner[rad][pid], thetaExp, deltaTheta, mcPW );
fillHisto( h_diffckVPtotInner[rad][pid], pTot, deltaTheta, mcPW );
fillHisto( h_fabsdiffckVckangInner[rad][pid], thetaExp, fabs( deltaTheta ), mcPW );
fillHisto( h_fabsdiffckVPtotInner[rad][pid], pTot, fabs( deltaTheta ), mcPW );
} else {
fillHisto( h_diffckVckangOuter[rad][pid], thetaExp, deltaTheta, mcPW );
fillHisto( h_diffckVPtotOuter[rad][pid], pTot, deltaTheta, mcPW );
fillHisto( h_fabsdiffckVckangOuter[rad][pid], thetaExp, fabs( deltaTheta ), mcPW );
fillHisto( h_fabsdiffckVPtotOuter[rad][pid], pTot, fabs( deltaTheta ), mcPW );
}
// pulls
if ( ckRes[pid] > 0 ) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment