Skip to content
Snippets Groups Projects
Analysis.h 5.27 KiB
Newer Older
#ifndef Analysis_h 
#define Analysis_h
/*****************************************************************************
 * Copyright (C) 2009-2016    this file is part of the NPTool Project        *
 *                                                                           *
 * For the licensing terms see $NPTOOL/Licence/NPTool_Licence                *
 * For the list of contributors see $NPTOOL/Licence/Contributors             *
 *****************************************************************************/

/*****************************************************************************
 * Original Author: XAUTHORX  contact address: XMAILX                        *
 *                                                                           *
 * Creation Date  : XMONTHX XYEARX                                           *
 * Last update    :                                                          *
 *---------------------------------------------------------------------------*
 * Decription:                                                               *
 *  This class describe  PISTA analysis project                       *
 *                                                                           *
 *---------------------------------------------------------------------------*
 * Comment:                                                                  *
 *                                                                           *
 *****************************************************************************/

#include "NPVAnalysis.h"
#include "TPISTAPhysics.h"
#include "TFPMWPhysics.h"
#include "TICPhysics.h"
Pierre Morfouace's avatar
Pierre Morfouace committed
#include "TExogamPhysics.h"
#include "TVamosReconstruction.h"
#include "TInitialConditions.h"
#include "TReactionConditions.h"
#include "TInteractionCoordinates.h"
#include "NPEnergyLoss.h"
#include "NPReaction.h"
Pierre Morfouace's avatar
Pierre Morfouace committed
#include "NPParticle.h"
#include "TRandom3.h"
#include "TSpline.h"
#include "TChain.h"

class Analysis: public NPL::VAnalysis{
  public:
    Analysis();
    ~Analysis();

  public: 
    void Init();
    void TreatEvent();
    void End();
    void InitOutputBranch();
    void InitInputBranch();
    void ReInitValue();
    void LoadCalibParameter();
Pierre Morfouace's avatar
Pierre Morfouace committed
    void PistaAnalysis();
    void VamosAnalysis(); 
Pierre Morfouace's avatar
Pierre Morfouace committed
    void ExogamAnalysis(); 
    void TwoAlphaAnalysis();
    void ReadAnalysisConfig();
Pierre Morfouace's avatar
Pierre Morfouace committed
    void LoadTimeOffset();

    static NPL::VAnalysis* Construct();

  private:
    double m_XTarget_offset;
    double m_YTarget_offset;
    double m_ZTarget_offset;
    double m_Beam_ThetaX;
    double m_Beam_ThetaY;
Pierre Morfouace's avatar
Pierre Morfouace committed
    double m_BeamEnergy;
    double m_Brho_ref;
    double m_Vamos_Angle;
  private:
    double BeamEnergy;
    double Xcalc;
    double Ycalc;
    double Zcalc;
    double XTarget;
    double YTarget;
    double ZTarget;
    double Elab;
    int Telescope;
    int strip_DE;
    int strip_E;
    double Time_E;
Pierre Morfouace's avatar
Pierre Morfouace committed
    double Pista_Time_Target;
    double Vamos_Time_Target;
    double DeltaE;
    double DeltaEcorr;
    double Eres;
    double ThetaLab;
    double PhiLab;
    double ThetaCM;
    double Ex242Pu;
    double Ex240Pu;
    double Ex236U;
    double Ex238U;
    double PID;
Pierre Morfouace's avatar
Pierre Morfouace committed
    double Beta_pista;
Pierre Morfouace's avatar
Pierre Morfouace committed
    ULong64_t fVAMOS_TS_sec;
    ULong64_t fPISTA_TS_sec;
    double VAMOS_TS_hour;
    double PISTA_TS_hour;

    int FPMW_Section;
Pierre Morfouace's avatar
Pierre Morfouace committed
    double FF_DE;
    double FF_Eres;
    double FF_Z;
    double FF_Brho;
    double FF_Path;
Pierre Morfouace's avatar
Pierre Morfouace committed
    double FF_Theta;
    double FF_Phi;

    double FF_D13;
    double FF_T13;
    double FF_V13;
    double FF_AoQ13;
    double FF_Beta13;
    double FF_Gamma13;
    double FF_Q13;
    double FF_M113;
    double FF_Mass13;
    double FF_Etot13;
    
    double FF_D14;
    double FF_T14;
    double FF_V14;
    double FF_Q14;
    double FF_M114;
    double FF_AoQ14;
    double FF_Mass14;
    
    double FF_D23;
    double FF_T23;
    double FF_V23;
    double FF_Q23;
    double FF_M123;
    double FF_AoQ23;
    double FF_Mass23;

    double FF_D24;
    double FF_T24;
    double FF_V24;
    double FF_Q24;
    double FF_M124;
    double FF_AoQ24;
    double FF_Mass24;
  
    double FF_Qav;
    double FF_Massav;

Pierre Morfouace's avatar
Pierre Morfouace committed
    double Exo_cosa;
    double Exo_E;
    double Exo_EDC_vamos;
    double Exo_EDC_pista;
    double Exo_Theta;
    double Exo_Phi;

    int m_2alpha;
    vector<double> Elab1;
    vector<double> Elab2;

    NPL::Reaction* Transfer10Be;
    NPL::Reaction* Transfer8Be;
    NPL::Reaction* Transfer14C;
    NPL::Reaction* Elastic;
Pierre Morfouace's avatar
Pierre Morfouace committed
   
    NPL::Particle* C12;
    NPL::Particle* Be10;

    TVector3 PositionOnTarget;
    TRandom3 Rand;
    double ThetaNormalTarget;
    double ThetaDetectorSurface;
    double TargetThickness;

    NPL::EnergyLoss C12C;
Pierre Morfouace's avatar
Pierre Morfouace committed
    NPL::EnergyLoss C12Al;
    NPL::EnergyLoss Be10C;
Pierre Morfouace's avatar
Pierre Morfouace committed
    NPL::EnergyLoss Be10Al;
    NPL::EnergyLoss U238C;
Pierre Morfouace's avatar
Pierre Morfouace committed
    TGraph *geloss_C12C;
    TGraph *geloss_C12Al;
    TGraph *geloss_Be10C;
    TGraph *geloss_Be10Al;



    float T13;
    float T14;
    float T23;
    float T24;
    UShort_t FPMWPat_0RawNr[20];
    Int_t FPMWPat_0RawM;
Pierre Morfouace's avatar
Pierre Morfouace committed
  private:
    double Xmean;
    double Ymean;
    double Xmean_iter;
    double Ymean_iter;
    int iteration;

    double m_Q_p0[20];
    double m_Q_p1[20];
Pierre Morfouace's avatar
Pierre Morfouace committed
    double m_T13_Offset[20];
    double m_T14_Offset[20];
  private:
    TPISTAPhysics* PISTA;
    TFPMWPhysics* FPMW;
    TICPhysics* IC;
Pierre Morfouace's avatar
Pierre Morfouace committed
    TExogamPhysics* EXOGAM;
    TVamosReconstruction* Tracking;
    TChain* chain;
};
#endif