#ifndef DSelector_omegaeta_h #define DSelector_omegaeta_h #include #include "DSelector/DSelector.h" #include "DSelector/DHistogramActions.h" #include "DSelector/DCutActions.h" #include "TH1F.h" #include "TH2F.h" class DSelector_omegaeta : public DSelector { public: DSelector_omegaeta(TTree* locTree = NULL) : DSelector(locTree){} virtual ~DSelector_omegaeta(){} 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 // ANALYZE CUT ACTIONS // // Automatically makes mass histograms where one cut is missing DHistogramAction_AnalyzeCutActions* dAnalyzeCutActions; //CREATE REACTION-SPECIFIC PARTICLE ARRAYS //Step 0 DParticleComboStep* dStep0Wrapper; DBeamParticle* dComboBeamWrapper; DChargedTrackHypothesis* dPiPlusWrapper; DChargedTrackHypothesis* dPiMinusWrapper; DChargedTrackHypothesis* dProtonWrapper; //Step 1 DParticleComboStep* dStep1Wrapper; DKinematicData* dDecayingPi0Wrapper; DNeutralParticleHypothesis* dPhoton1Wrapper; DNeutralParticleHypothesis* dPhoton2Wrapper; //Step 2 DParticleComboStep* dStep2Wrapper; DNeutralParticleHypothesis* dPhoton3Wrapper; DNeutralParticleHypothesis* dPhoton4Wrapper; // DEFINE YOUR HISTOGRAMS HERE // EXAMPLES: TH2F *dHist_MandelstamT; TH1F* dHist_MissingMassSquared,*dHist_LambdaOmega; TH2F *dHist_PipPimPi0Mass_vs_2GammaMass,*dHist_CosThetaGF; TH1F* dHist_BeamEnergy,*dHist_OmegaEtaMass,*dHist_OmegaEtaMass_SB; TH1F *dHist_H2000,*dHist_H2020,*dHist_H0020,*dHist_H2110; TH1F *dHist_H2220,*dHist_H2200,*dHist_H2120,*dHist_H2100; TH1F *dHist_H2221,*dHist_H0021,*dHist_H2021,*dHist_H2111; TH1F *dHist_H2121,*dHist_H2122,*dHist_H0022,*dHist_H2222; TH1F *dHist_H2212; TH2F *dHist_OmegaAngDist,*dHist_OffCombos,*dHist_OffCombosCut; TH1F *dHist_H0040,*dHist_H0041,*dHist_H0042,*dHist_H0043,*dHist_H0044; TH1F *dHist_H2040,*dHist_H2041,*dHist_H2042,*dHist_H2043,*dHist_H2044; TH1F *dHist_H2140,*dHist_H2141,*dHist_H2142,*dHist_H2143,*dHist_H2144; TH1F *dHist_H2240,*dHist_H2241,*dHist_H2242,*dHist_H2243,*dHist_H2244; ClassDef(DSelector_omegaeta, 0); }; void DSelector_omegaeta::Get_ComboWrappers(void) { //Step 0 dStep0Wrapper = dComboWrapper->Get_ParticleComboStep(0); dComboBeamWrapper = static_cast(dStep0Wrapper->Get_InitialParticle()); dPiPlusWrapper = static_cast(dStep0Wrapper->Get_FinalParticle(1)); dPiMinusWrapper = static_cast(dStep0Wrapper->Get_FinalParticle(2)); dProtonWrapper = static_cast(dStep0Wrapper->Get_FinalParticle(4)); //Step 1 dStep1Wrapper = dComboWrapper->Get_ParticleComboStep(1); dDecayingPi0Wrapper = dStep1Wrapper->Get_InitialParticle(); dPhoton1Wrapper = static_cast(dStep1Wrapper->Get_FinalParticle(0)); dPhoton2Wrapper = static_cast(dStep1Wrapper->Get_FinalParticle(1)); //Step 2 dStep2Wrapper = dComboWrapper->Get_ParticleComboStep(2); dPhoton3Wrapper = static_cast(dStep2Wrapper->Get_FinalParticle(0)); dPhoton4Wrapper = static_cast(dStep2Wrapper->Get_FinalParticle(1)); } #endif // DSelector_omegaeta_h