14 japp->RootWriteLock();
20 dEgamma = GetOrCreate_Histogram<TH1I>(
"Egamma",
"TAGGER photon energy; E_{#gamma}", 400, 0., 12.);
22 dMM2_M2pi0 = GetOrCreate_Histogram<TH2I>(
"MM2_M2pi0",
"MM^{2} off p#pi^{0}#pi^{0} vs M_{#pi^{0}#pi^{0}}; M_{#pi^{0}#pi^{0}}; MM^{2}", 200, 0.0, 2.0, 200, -1., 1.);
23 dDeltaE_M2pi0 = GetOrCreate_Histogram<TH2I>(
"dDeltaE_M2pi0",
"#Delta E vs M_{#pi^{0}#pi^{0}}; M_{#pi^{0}}; #Delta E (tagger - tracks)", 200, 0.0, 2.0, 200, -5., 5.);
24 dMpi0_corr = GetOrCreate_Histogram<TH2I>(
"Mpi0_corr",
"M_{#gamma#gamma}(1) vs M_{#gamma#gamma}(2); M_{#gamma#gamma}(1); M_{#gamma#gamma}(2)", 200, 0.0, 1.0, 200, 0., 1.);
26 dPhi2pi0_PhiP = GetOrCreate_Histogram<TH2I>(
"Phi2pi0_PhiP",
"#phi_{#pi^{0}#pi^{0}} vs. #phi_{p}; #phi_{p}; #phi_{#pi^{0}#pi^{0}}", 360, -180.0, 180.0, 360, -180., 180.);
27 dDeltaPhi_M2pi0 = GetOrCreate_Histogram<TH2I>(
"DeltaPhi_M2pi0",
"#Delta#phi vs M_{#pi^{0}#pi^{0}}; M_{#pi^{0}#pi^{0}}; #Delta#phi", 200, 0.0, 2.0, 360, 0.0, 360.0);
29 dMM2_M2pi0_CoplanarTag = GetOrCreate_Histogram<TH2I>(
"MM2_M2pi0_CoplanarTag",
"MM^{2} off p #pi^{0}#pi^{0} vs M_{#pi^{0}#pi^{0}}: Coplanar Tag; M_{#pi^{0}#pi^{0}}; MM^{2}", 200, 0.0, 2.0, 200, -1., 1.);
30 dDeltaE_M2pi0_CoplanarTag = GetOrCreate_Histogram<TH2I>(
"dDeltaE_M2pi0_CoplanarTag",
"#Delta E vs M_{#pi^{0}#pi^{0}}: Coplanar Tag; M_{#pi^{0}#pi^{0}}; #Delta E (tagger - p#pi^{0}#pi^{0})", 200, 0.0, 2.0, 200, -5., 5.);
31 dMpi0_corr_CoplanarTag = GetOrCreate_Histogram<TH2I>(
"Mpi0_Corr_CoplanarTag",
"M_{#gamma#gamma}(1) vs M_{#gamma#gamma}(2); M_{#gamma#gamma}(1); M_{#gamma#gamma}(2)", 200, 0.0, 1.0, 200, 0., 1.);
33 dMM2_M2pi0_ProtonTag = GetOrCreate_Histogram<TH2I>(
"MM2_M2pi0_ProtonTag",
"MM^{2} off p #pi^{0}#pi^{0} vs M_{#pi^{0}#pi^{0}}: Proton Tag; M_{#pi^{0}#pi^{0}}; MM^{2}", 200, 0.0, 2.0, 200, -1., 1.);
34 dDeltaE_M2pi0_ProtonTag = GetOrCreate_Histogram<TH2I>(
"dDeltaE_M2pi0_ProtonTag",
"#Delta E vs M_{#pi^{0}#pi^{0}}: Proton Tag; M_{#pi^{0}#pi^{0}}; #Delta E (tagger - p#pi^{0}#pi^{0})", 200, 0.0, 2.0, 200, -5., 5.);
35 dMpi0_corr_ProtonTag = GetOrCreate_Histogram<TH2I>(
"Mpi0_corr_ProtonTag",
"M_{#gamma#gamma}(1) vs M_{#gamma#gamma}(2); M_{#gamma#gamma}(1); M_{#gamma#gamma}(2)", 200, 0.0, 1.0, 200, 0., 1.);
37 dMpi0_corr_MMTag = GetOrCreate_Histogram<TH2I>(
"Mpi0_corr_MMTag",
"M_{#gamma#gamma}(1) vs M_{#gamma#gamma}(2); M_{#gamma#gamma}(1); M_{#gamma#gamma}(2)", 200, 0.0, 1.0, 200, 0., 1.);
39 dMM2_M2pi0_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"MM2_M2pi0_Pi0Tag",
"MM^{2} off p #pi^{0}#pi^{0} vs M_{#pi^{0}#pi^{0}}: Pi0 Tag; M_{#pi^{0}#pi^{0}}; MM^{2}", 200, 0.0, 2.0, 200, -1., 1.);
40 dDeltaE_M2pi0_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"dDeltaE_M2pi0_Pi0Tag",
"#Delta E vs M_{#pi^{0}#pi^{0}}: Pi0 Tag; M_{#pi^{0}#pi^{0}}; #Delta E (tagger - p#pi^{0}#pi^{0})", 200, 0.0, 2.0, 200, -5., 5.);
41 dMM2_DeltaE_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"dMM2_DeltaE_Pi0Tag",
"MM^{2} vs #Delta E: Coplanar Tag; #Delta E (tagger - p#gamma#gamma); MM^{2}", 200, -5., 5., 200, -1., 1.);
43 dEgamma_M2pi0_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"Egamma_M2pi0_Pi0Tag",
"E_{#gamma} vs M_{#pi^{0}#pi^{0}}: Pi0 Tag; M_{#pi^{0}#pi^{0}}; E_{#gamma}", 200, 0.0, 2.0, 400, 0., 12.);
44 dDalitz1_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"Dalitz1_Pi0Tag",
"Dalitz Pi0 Tag; M^{2}_{p#pi^{0}}; M^{2}_{p#pi^{0}}", 200, 1.0, 11.0, 200, 1., 11.);
45 dDalitz2_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"Dalitz2_Pi0Tag",
"Dalitz Pi0 Tag; M^{2}_{p#pi^{0}}; M^{2}_{p#pi^{0}}", 200, 1.0, 11.0, 200, 1., 11.);
46 dDalitz3_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"Dalitz3_Pi0Tag",
"Dalitz Pi0 Tag; M^{2}_{p#pi^{0}}; M^{2}_{p#pi^{0}}", 200, 1.0, 11.0, 200, 1., 11.);
47 dDalitz4_Pi0Tag = GetOrCreate_Histogram<TH2I>(
"Dalitz4_Pi0Tag",
"Dalitz Pi0 Tag; M^{2}_{p#pi^{0}}; M^{2}_{p#pi^{0}}", 200, 1.0, 11.0, 200, 1., 11.);
50 dProton_dEdx_P = GetOrCreate_Histogram<TH2I>(
"Proton_dEdx_P",
"dE/dx vs p; p; dE/dx",200,0,2,500,0,5);
51 dProton_P_Theta = GetOrCreate_Histogram<TH2I>(
"Proton_P_Theta",
"p vs #theta; #theta; p (GeV/c)",180,0,180,120,0,12);
66 double locBeamPhotonEnergy = locBeamPhoton->
energy();
84 DLorentzVector locPi01P_P4 = locProtonP4; locPi01P_P4 += locPi01_P4;
85 DLorentzVector locPi02P_P4 = locProtonP4; locPi02P_P4 += locPi02_P4;
95 dEgamma->Fill(locBeamPhotonEnergy);
97 dMM2_M2pi0->Fill(loc2pi0_P4.M(), locMissingP4.M2());
99 dMpi0_corr->Fill(locPi01_P4.M(), locPi02_P4.M());
101 double locDeltaPhi = (locProtonP4.Phi() - loc2pi0_P4.Phi())*180./TMath::Pi();
102 if(locDeltaPhi > 360.) locDeltaPhi -= 360.;
103 if(locDeltaPhi < 0.) locDeltaPhi += 360.;
104 dPhi2pi0_PhiP->Fill(locProtonP4.Phi()*180./TMath::Pi(), loc2pi0_P4.Phi()*180./TMath::Pi());
108 if(locDeltaPhi < 170. || locDeltaPhi > 190.)
return true;
121 if(locPi01_P4.M() > 0.10 && locPi01_P4.M() < 0.16 && locPi02_P4.M() > 0.10 && locPi02_P4.M() < 0.16){
128 if(fabs(locMissingP4.M2()) < 0.05 && fabs(locMissingP4.E()) < 0.5) {
131 if(locPi01_P4.M() > 0.10 && locPi01_P4.M() < 0.16 && locPi02_P4.M() > 0.10 && locPi02_P4.M() < 0.16){
133 if(locBeamPhotonEnergy > 1.5 && locBeamPhotonEnergy < 2.0)
135 if(locBeamPhotonEnergy > 2.0 && locBeamPhotonEnergy < 2.5)
137 if(locBeamPhotonEnergy > 2.5 && locBeamPhotonEnergy < 3.0)
139 if(locBeamPhotonEnergy > 3.0 && locBeamPhotonEnergy < 5.5)
144 if(fabs(locMissingP4.M2()) < 0.05 && fabs(locMissingP4.E()) < 0.5) {
147 dProton_P_Theta->Fill(locProtonP4.Vect().Theta()*180/TMath::Pi(), locProtonP4.Vect().Mag());
vector< const DKinematicData * > Get_FinalParticles_Measured(void) const
TDirectoryFile * ChangeTo_BaseDirectory(void)
TH2I * dDeltaE_M2pi0_ProtonTag
const DReaction * Get_Reaction(void) const
double energy(void) const
void Initialize(JEventLoop *locEventLoop)
const DTrackTimeBased * Get_TrackTimeBased(void) const
TDirectoryFile * CreateAndChangeTo_ActionDirectory(void)
const DKinematicData * Get_InitialParticle_Measured(void) const
TLorentzVector DLorentzVector
const DChargedTrackHypothesis * Get_Hypothesis(Particle_t locPID) const
bool Get_UseKinFitResultsFlag(void) const
TH2I * dEgamma_M2pi0_Pi0Tag
DLorentzVector Calc_FinalStateP4(const DReaction *locReaction, const DParticleCombo *locParticleCombo, size_t locStepIndex, bool locUseKinFitDataFlag) const
TH2I * dMpi0_corr_CoplanarTag
TH2I * dMM2_M2pi0_CoplanarTag
DLorentzVector Calc_MissingP4(const DReaction *locReaction, const DParticleCombo *locParticleCombo, bool locUseKinFitDataFlag) const
TH2I * dDeltaE_M2pi0_CoplanarTag
vector< const DKinematicData * > Get_FinalParticles(void) const
const DAnalysisUtilities * dAnalysisUtilities
bool Perform_Action(JEventLoop *locEventLoop, const DParticleCombo *locParticleCombo)
DLorentzVector lorentzMomentum(void) const
const JObject * Get_FinalParticle_SourceObject(size_t locFinalParticleIndex) const
const DKinematicData * Get_InitialParticle(void) const
TH2I * dMM2_M2pi0_ProtonTag
TH2I * dMpi0_corr_ProtonTag
TH2I * dMM2_DeltaE_Pi0Tag
const DParticleComboStep * Get_ParticleComboStep(size_t locStepIndex) const
TH2I * dDeltaE_M2pi0_Pi0Tag