#ifndef DSelector_cascade0_p4_h #define DSelector_cascade0_p4_h #include #include "DSelector/DSelector.h" #include "DSelector/DHistogramActions.h" #include "DSelector/DCutActions.h" #include "TH1I.h" #include "TH2I.h" class DSelector_cascade0_p4 : public DSelector { public: DSelector_cascade0_p4(TTree* locTree = NULL) : DSelector(locTree){} virtual ~DSelector_cascade0_p4(){} 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; //Step 1 DParticleComboStep* dStep1Wrapper; DKinematicData* dDecayingKShortWrapper; DChargedTrackHypothesis* dPiPlusWrapper; DChargedTrackHypothesis* dPiMinus1Wrapper; //Step 2 DParticleComboStep* dStep2Wrapper; DKinematicData* dDecayingXi0Wrapper; //Step 3 DParticleComboStep* dStep3Wrapper; DKinematicData* dDecayingLambdaWrapper; DChargedTrackHypothesis* dProtonWrapper; DChargedTrackHypothesis* dPiMinus2Wrapper; //Step 4 DParticleComboStep* dStep4Wrapper; DKinematicData* dDecayingPi0Wrapper; DNeutralParticleHypothesis* dPhoton1Wrapper; DNeutralParticleHypothesis* dPhoton2Wrapper; ClassDef(DSelector_cascade0_p4, 0); }; void DSelector_cascade0_p4::Get_ComboWrappers(void) { //Step 0 dStep0Wrapper = dComboWrapper->Get_ParticleComboStep(0); dComboBeamWrapper = static_cast(dStep0Wrapper->Get_InitialParticle()); dKPlusWrapper = static_cast(dStep0Wrapper->Get_FinalParticle(0)); //Step 1 dStep1Wrapper = dComboWrapper->Get_ParticleComboStep(1); dDecayingKShortWrapper = dStep1Wrapper->Get_InitialParticle(); dPiPlusWrapper = static_cast(dStep1Wrapper->Get_FinalParticle(0)); dPiMinus1Wrapper = static_cast(dStep1Wrapper->Get_FinalParticle(1)); //Step 2 dStep2Wrapper = dComboWrapper->Get_ParticleComboStep(2); dDecayingXi0Wrapper = dStep2Wrapper->Get_InitialParticle(); //Step 3 dStep3Wrapper = dComboWrapper->Get_ParticleComboStep(3); dDecayingLambdaWrapper = dStep3Wrapper->Get_InitialParticle(); dProtonWrapper = static_cast(dStep3Wrapper->Get_FinalParticle(0)); dPiMinus2Wrapper = static_cast(dStep3Wrapper->Get_FinalParticle(1)); //Step 4 dStep4Wrapper = dComboWrapper->Get_ParticleComboStep(4); dDecayingPi0Wrapper = dStep4Wrapper->Get_InitialParticle(); dPhoton1Wrapper = static_cast(dStep4Wrapper->Get_FinalParticle(0)); dPhoton2Wrapper = static_cast(dStep4Wrapper->Get_FinalParticle(1)); } #endif // DSelector_cascade0_p4_h