#ifndef DSelector_d0lc_misslc_h #define DSelector_d0lc_misslc_h #include #include "DSelector/DSelector.h" #include "DSelector/DHistogramActions.h" #include "DSelector/DCutActions.h" #include "TH1I.h" #include "TH2I.h" class DSelector_d0lc_misslc : public DSelector { public: DSelector_d0lc_misslc(TTree* locTree = NULL) : DSelector(locTree){} virtual ~DSelector_d0lc_misslc(){} 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; //Step 1 DParticleComboStep* dStep1Wrapper; DKinematicData* dDecayingD0Wrapper; DChargedTrackHypothesis* dPiMinusWrapper; DChargedTrackHypothesis* dKPlusWrapper; // DEFINE YOUR HISTOGRAMS HERE // EXAMPLES: TH1I* dHist_MissingMassSquared; TH1I* dHist_BeamEnergy; ClassDef(DSelector_d0lc_misslc, 0); }; void DSelector_d0lc_misslc::Get_ComboWrappers(void) { //Step 0 dStep0Wrapper = dComboWrapper->Get_ParticleComboStep(0); dComboBeamWrapper = static_cast(dStep0Wrapper->Get_InitialParticle()); //Step 1 dStep1Wrapper = dComboWrapper->Get_ParticleComboStep(1); dDecayingD0Wrapper = dStep1Wrapper->Get_InitialParticle(); dPiMinusWrapper = static_cast(dStep1Wrapper->Get_FinalParticle(0)); dKPlusWrapper = static_cast(dStep1Wrapper->Get_FinalParticle(1)); } #endif // DSelector_d0lc_misslc_h