diff --git a/Projects/e870/Analysis.cxx b/Projects/e870/Analysis.cxx index 68a61475d761bdf47b8a660bf03859aab04a589f..395e31bd6b51a4444655b0577d7ae7396a5e74f8 100644 --- a/Projects/e870/Analysis.cxx +++ b/Projects/e870/Analysis.cxx @@ -42,6 +42,7 @@ void Analysis::Init() { cout << "Considering input data as real" << endl; simulation = false; } + simulation = true; // initialize input and output branches @@ -122,9 +123,9 @@ void Analysis::TreatEvent() { XTarget = 0; YTarget = 0; BeamDirection = TVector3(0, 0, 1); - //OriginalELab = ReactionConditions->GetKineticEnergy(0); - //OriginalThetaLab = ReactionConditions->GetTheta(0); - //BeamEnergy = ReactionConditions->GetBeamEnergy(); + // OriginalELab = ReactionConditions->GetKineticEnergy(0); + // OriginalThetaLab = ReactionConditions->GetTheta(0); + // BeamEnergy = ReactionConditions->GetBeamEnergy(); } BeamImpact = TVector3(XTarget, YTarget, 0); // determine beam energy for a randomized interaction point in target @@ -167,41 +168,29 @@ void Analysis::TreatEvent() { if (CsI_E_M2 > 0) { // The energy in CsI is calculate form dE/dx Table because Energy = CsI_E_M2; - Energy = LightAl.EvaluateInitialEnergy(Energy, 0.4 * micrometer, ThetaM2Surface); + if (simulation) { + Energy = LightAl.EvaluateInitialEnergy(Energy, 0.4 * micrometer, ThetaM2Surface); + } Energy += Si_E_M2; } else Energy = Si_E_M2; + Energy = LightAl.EvaluateInitialEnergy(Energy, 0.4 * micrometer, ThetaM2Surface); // Evaluate energy using the thickness - ELab = Energy; - // ELab = LightAl.EvaluateInitialEnergy(Energy, 0.4 * micrometer, ThetaM2Surface); // Target Correction - // ELab = LightTarget.EvaluateInitialEnergy(ELab, TargetThickness * 0.5, ThetaNormalTarget); - - // if(LightWindow) - // ELab = LightWindow->EvaluateInitialEnergy( ELab ,WindowsThickness, ThetaNormalTarget); - /************************************************/ + Energy = LightTarget.EvaluateInitialEnergy(ELab, TargetThickness * 0.5, ThetaNormalTarget); + ELab = Energy; /************************************************/ // Part 3 : Excitation Energy Calculation Ex = reaction.ReconstructRelativistic(ELab, ThetaLab); - reaction.SetBeamEnergy(Initial->GetIncidentFinalKineticEnergy()); - // ExNoBeam = reaction.ReconstructRelativistic(ELab, ThetaLab); - // reaction.SetBeamEnergy(FinalBeamEnergy); - // ExNoProton = reaction.ReconstructRelativistic(ReactionConditions->GetKineticEnergy(0), - // ReactionConditions->GetParticleDirection(0).Angle(TVector3(0, 0, 1))); + // ExNoBeam = reaction.ReconstructRelativistic(, ThetaLab); ThetaLab = ThetaLab / deg; - /************************************************/ - /************************************************/ - // Part 4 : Theta CM Calculation - // ThetaCM = reaction.EnergyLabToThetaCM(ELab, ThetaLab) / deg; - /************************************************/ } // end loop MUST2 - } //////////////////////////////////////////////////////////////////////////////// @@ -209,9 +198,6 @@ void Analysis::End() {} //////////////////////////////////////////////////////////////////////////////// void Analysis::InitOutputBranch() { RootOutput::getInstance()->GetTree()->Branch("Ex", &Ex, "Ex/D"); - RootOutput::getInstance()->GetTree()->Branch("ExNoBeam", &ExNoBeam, "ExNoBeam/D"); - RootOutput::getInstance()->GetTree()->Branch("ExNoProton", &ExNoProton, "ExNoProton/D"); - RootOutput::getInstance()->GetTree()->Branch("EDC", &Ex, "Ex/D"); RootOutput::getInstance()->GetTree()->Branch("ELab", &ELab, "ELab/D"); RootOutput::getInstance()->GetTree()->Branch("ThetaLab", &ThetaLab, "ThetaLab/D"); RootOutput::getInstance()->GetTree()->Branch("ThetaCM", &ThetaCM, "ThetaCM/D"); @@ -221,28 +207,6 @@ void Analysis::InitOutputBranch() { RootOutput::getInstance()->GetTree()->Branch("Z", &Z, "Z/D"); RootOutput::getInstance()->GetTree()->Branch("dE", &dE, "dE/D"); if (!simulation) { - // Vamos - RootOutput::getInstance()->GetTree()->Branch("LTS", <S, "LTS/l"); - - // Agata - // Time stamp of the agata trigger - RootOutput::getInstance()->GetTree()->Branch("TStrack", &TStrack, "TStrack/l"); - - // Array of reconstructed tracks - RootOutput::getInstance()->GetTree()->Branch("nbTrack", &nbTrack, "nbTrack/I"); - RootOutput::getInstance()->GetTree()->Branch("trackE", trackE, "trackE[nbTrack]/F"); - RootOutput::getInstance()->GetTree()->Branch("trackX1", trackX1, "trackX1[nbTrack]/F"); - RootOutput::getInstance()->GetTree()->Branch("trackY1", trackY1, "trackY1[nbTrack]/F"); - RootOutput::getInstance()->GetTree()->Branch("trackZ1", trackZ1, "trackZ1[nbTrack]/F"); - RootOutput::getInstance()->GetTree()->Branch("trackT", trackT, "trackT[nbTrack]/F"); - RootOutput::getInstance()->GetTree()->Branch("trackCrystalID", trackCrystalID, "trackCrystalID[nbTrack]/I"); - - // Array of reconstructed core - RootOutput::getInstance()->GetTree()->Branch("nbCores", &nbCores, "nbCores/I"); - RootOutput::getInstance()->GetTree()->Branch("coreId", coreId, "coreId[nbCores]/I"); - RootOutput::getInstance()->GetTree()->Branch("coreTS", coreTS, "coreTS[nbCores]/l"); - RootOutput::getInstance()->GetTree()->Branch("coreE0", coreE0, "coreE0[nbCores]/F"); - // } else { RootOutput::getInstance()->GetTree()->Branch("OriginalELab", &OriginalELab, "OriginalELab/D"); @@ -255,21 +219,6 @@ void Analysis::InitOutputBranch() { void Analysis::InitInputBranch() { // RootInput:: getInstance()->GetChain()->SetBranchAddress("GATCONF",&vGATCONF); if (!simulation) { - // Vamos - RootInput::getInstance()->GetChain()->SetBranchAddress("LTS", <S); - // Agata - RootInput::getInstance()->GetChain()->SetBranchAddress("TStrack", &TStrack); - RootInput::getInstance()->GetChain()->SetBranchAddress("nbTrack", &nbTrack); - RootInput::getInstance()->GetChain()->SetBranchAddress("trackE", trackE); - RootInput::getInstance()->GetChain()->SetBranchAddress("trackX1", trackX1); - RootInput::getInstance()->GetChain()->SetBranchAddress("trackY1", trackY1); - RootInput::getInstance()->GetChain()->SetBranchAddress("trackZ1", trackZ1); - RootInput::getInstance()->GetChain()->SetBranchAddress("trackT", trackT); - RootInput::getInstance()->GetChain()->SetBranchAddress("trackCrystalID", trackCrystalID); - RootInput::getInstance()->GetChain()->SetBranchAddress("nbCores", &nbCores); - RootInput::getInstance()->GetChain()->SetBranchAddress("coreId", coreId); - RootInput::getInstance()->GetChain()->SetBranchAddress("coreTS", coreTS); - RootInput::getInstance()->GetChain()->SetBranchAddress("coreE0", coreE0); } else { RootInput::getInstance()->GetChain()->SetBranchStatus("InitialConditions", true);