AlcapDAQ  1
Functions | Variables
MPileUpPerBlock.cpp File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <TH1I.h>
#include "TGlobalData.h"
#include "TSetupData.h"

Go to the source code of this file.

Functions

INT MPileUpPerBlock_init (void)
 
INT MPileUpPerBlock (EVENT_HEADER *, void *)
 

Variables

HNDLE hDB
 
TGlobalDatagData
 
TSetupDatagSetup
 
static TH1I * hPileUpPerBlock
 
static const double pileup_tw = 10000.
 
ANA_MODULE MPileUpPerBlock_module
 

Function Documentation

INT MPileUpPerBlock ( EVENT_HEADER *  pheader,
void *  pevent 
)

Definition at line 67 of file MPileUpPerBlock.cpp.

References TSetupData::fBankToDetectorMap, TGlobalData::fPulseIslandToChannelMap, hPileUpPerBlock, pileup_tw, and SUCCESS.

68 {
69 
70  unsigned int nPileUp = 0;
71 
72  // We assume the existance of all necessary TPI vectors
73  std::map< std::string, std::vector<TPulseIsland*> >& tpis = gData->fPulseIslandToChannelMap;
74  std::map< std::string, std::string >& dets = gSetup->fBankToDetectorMap;
75  std::map< std::string, std::vector<TPulseIsland*> >::iterator iBank;
76  std::vector<TPulseIsland*> *musc_pulses = NULL;
77  std::vector<TPulseIsland*>::iterator curr_musc_pulse, next_musc_pulse;
78 
79  for (iBank = tpis.begin(); iBank != tpis.end(); iBank++) {
80  if (dets.at(iBank->first) == "muSC") {
81  musc_pulses = &tpis.at(iBank->first);
82  curr_musc_pulse = musc_pulses->begin();
83  next_musc_pulse = curr_musc_pulse + 1;
84  }
85  }
86 
87  double cTime = 0;
88  for (; curr_musc_pulse != musc_pulses->end();) {
89  if ((*next_musc_pulse)->GetPulseTime() - (*curr_musc_pulse)->GetPulseTime() < pileup_tw)
90  nPileUp++;
91  curr_musc_pulse++;
92  next_musc_pulse++;
93  }
94 
95  hPileUpPerBlock->Fill(nPileUp);
96 
97  return SUCCESS;
98 }
INT MPileUpPerBlock_init ( )

This method initializes histograms.

Definition at line 59 of file MPileUpPerBlock.cpp.

References hPileUpPerBlock, and SUCCESS.

60 {
61 
62  hPileUpPerBlock = new TH1I("hPileUpPerBlock","Number of Pile Up; Percent; Counts",100,0.,1);
63  return SUCCESS;
64 }

Variable Documentation

TGlobalData* gData

Definition at line 54 of file analyzer.cpp.

TSetupData* gSetup

Definition at line 55 of file analyzer.cpp.

HNDLE hDB

Definition at line 11 of file mucap_compress.cpp.

TH1I* hPileUpPerBlock
static

Definition at line 37 of file MPileUpPerBlock.cpp.

Referenced by MPileUpPerBlock(), and MPileUpPerBlock_init().

ANA_MODULE MPileUpPerBlock_module
Initial value:
=
{
"MPileUpPerBlock",
"John R Quirk",
NULL,
NULL,
NULL,
NULL,
0,
NULL,
}

Definition at line 43 of file MPileUpPerBlock.cpp.

const double pileup_tw = 10000.
static

Definition at line 40 of file MPileUpPerBlock.cpp.

Referenced by MPileUpPerBlock().