#ifndef DSelector_2kp_h #define DSelector_2kp_h #include #include "DSelector/DSelector.h" #include "DSelector/DHistogramActions.h" #include "DSelector/DCutActions.h" #include "TH1I.h" #include "TH2I.h" class DSelector_2kp : public DSelector { public: DSelector_2kp(TTree* locTree = NULL) : DSelector(locTree){} virtual ~DSelector_2kp(){} void Init(TTree *tree); Bool_t Process(Long64_t entry); private: void Get_ComboWrappers(void); void Finalize(void); // BEAM POLARIZATION INFORMATION UInt_t dPreviousRunNumber; bool dIsPolarizedFlag; //else is AMO bool dIsPARAFlag; //else is PERP or AMO //CREATE REACTION-SPECIFIC PARTICLE ARRAYS //Step 0 DParticleComboStep* dStep0Wrapper; DBeamParticle* dComboBeamWrapper; DChargedTrackHypothesis* dKPlusWrapper; DChargedTrackHypothesis* dKMinusWrapper; DChargedTrackHypothesis* dProtonWrapper; // BEST COMBO TH1I* dHist_MandelstamT; TH1I* dHist_YStarMass_BestCombo; TH2I* dHist_YStarMassVsT; //BEST COMBO: POLARIZATION TH1I* dHist_ProdPlanePhi_PARA; TH2I* dHist_ProdPlanePhiVsT_Sideband_PARA; TH2I* dHist_ProdPlanePhiVsT_Signal_PARA; TH1I* dHist_ProdPlanePhi_PERP; TH2I* dHist_ProdPlanePhiVsT_Sideband_PERP; TH2I* dHist_ProdPlanePhiVsT_Signal_PERP; TH1I* dHist_ProdPlanePhi_AMO; TH2I* dHist_ProdPlanePhiVsT_Sideband_AMO; TH2I* dHist_ProdPlanePhiVsT_Signal_AMO; ClassDef(DSelector_2kp, 0); }; void DSelector_2kp::Get_ComboWrappers(void) { //Step 0 dStep0Wrapper = dComboWrapper->Get_ParticleComboStep(0); dComboBeamWrapper = static_cast(dStep0Wrapper->Get_InitialParticle()); dKPlusWrapper = static_cast(dStep0Wrapper->Get_FinalParticle(1)); dKMinusWrapper = static_cast(dStep0Wrapper->Get_FinalParticle(0)); dProtonWrapper = static_cast(dStep0Wrapper->Get_FinalParticle(2)); } #endif // DSelector_2kp_h