#include "TD0InMinBiasSkimmer.hh" ClassImp(TD0InMinBiasSkimmer); // ... TD0InMinBiasSkimmer::TD0InMinBiasSkimmer(const Char_t *name, const Char_t *title) : // ... { // ... } TD0InMinBiasSkimmer::~TD0InMinBiasSkimmer() { } int TD0InMinBiasSkimmer::BeginJob() { // ... // Tree fReducedStntuple = new TFile("ReducedStntuple.root", "RECREATE", "Events with at least one D0 -> K pi candidate"); Char_t name[300]; if (fCDFData) { sprintf(name, "MinBias%s", "CDF"); } else { sprintf(name, "MinBias%s", "MC"); } fReducedStntupleTree = new TTree(name, "MinBias Tree"); fManuEvent = new TManuEvent(); fReducedStntupleTree->Branch("Events", &fManuEvent, 16000, 99); return 0; } int TD0InMinBiasSkimmer::BeginRun() { // ... return 0; } int TD0InMinBiasSkimmer::Event(Int_t event) { // ... // Header TManuHeader *manuHeader = fManuEvent->AddHeader(); TVector2 *beamPosition = new TVector2(fBeamX, fBeamY); TVector2 *beamPositionSigma = new TVector2(fBeamSigmaX, fBeamSigmaY); Int_t triggered = 0; TClcChannel *ch; Int_t nClcEastHitsOver250 = 0; Int_t nClcWestHitsOver250 = 0; // ... variables are defined manuHeader->SetRunNumber( fHeaderBlock->RunNumber()); manuHeader->SetEventNumber( fHeaderBlock->EventNumber()); manuHeader->SetInstLumi( fHeaderBlock->InstLum()); manuHeader->SetBeamPosition( beamPosition); manuHeader->SetBeamPositionSigma( beamPositionSigma); manuHeader->SetTriggered( triggered); manuHeader->SetNClcEastHitsOver250(nClcEastHitsOver250); manuHeader->SetNClcWestHitsOver250(nClcWestHitsOver250); manuHeader->PrintHeader(); // Vertices // Tracks TManuTrack *manuTrack; TStnTrack *track; Int_t Algorithm; Double_t Lam0; Double_t C0; Double_t Charge; Double_t D0; Double_t D0Corrected; Double_t Z0; Double_t Phi0; Double_t Chi2; Double_t Chi2SVX; Double_t Chi2COT; Int_t SVXRPhiHits; Int_t SVXZHits; Int_t SVXSASHits; Int_t COTAxHits; Int_t COTStHits; Int_t COTAxSeg5; Int_t COTStSeg5; TLorentzVector *Momentum; for (Int_t i = 0; i < fTrackBlock->NTracks(); ++i) { manuTrack = fManuEvent->AddTrack(); // ... variables are defined manuTrack->SetAlgorithm( Algorithm); manuTrack->SetLam0( Lam0); manuTrack->SetC0( C0); manuTrack->SetCharge( Charge); manuTrack->SetD0( D0); manuTrack->SetD0Corrected(D0Corrected); manuTrack->SetZ0( Z0); manuTrack->SetPhi0( Phi0); manuTrack->SetChi2( Chi2); manuTrack->SetChi2SVX( Chi2SVX); manuTrack->SetChi2COT( Chi2COT); manuTrack->SetSVXRPhiHits(SVXRPhiHits); manuTrack->SetSVXZHits( SVXZHits); manuTrack->SetSVXSASHits( SVXSASHits); manuTrack->SetCOTAxHits( COTAxHits); manuTrack->SetCOTStHits( COTStHits); manuTrack->SetCOTAxSegs5( COTAxSeg5); manuTrack->SetCOTStSegs5( COTStSeg5); manuTrack->SetMomentum( Momentum); manuTrack->PrintTrack(); } // Fill fReducedStntupleTree->Fill(); delete beamPosition; delete beamPositionSigma; return 0; } int TD0InMinBiasSkimmer::EndRun() { return 0; } int TD0InMinBiasSkimmer::EndJob() { fReducedStntupleTree->Write(); return 0; }