StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StTriggerUtilities
L2Emulator
L2wAlgo
L2wBemc2009.h
1
#ifndef L2wBemc2008b_H
2
#define L2wBemc2008b_H
3
/*********************************************************************
4
* $Id: L2wBemc2009.h,v 1.1 2009/03/28 19:43:53 balewski Exp $
5
* \author Jan Balewski, MIT, 2008
6
*********************************************************************
7
* Descripion:
8
* example algo finding list of 2x2 BTOW clusters based on ET-seed list produced by L2-btow-calib algo
9
* features: uses 2D array (ieta vs. iphi )
10
* Limitations:
11
* - ignores seeds at the edges
12
* - double processing for neighbours seeds
13
*********************************************************************
14
*/
15
16
#ifdef IS_REAL_L2 //in l2-ana environment
17
#include "L2VirtualAlgo2009.h"
18
#else
19
#include "StTriggerUtilities/L2Emulator/L2algoUtil/L2VirtualAlgo2009.h"
20
#endif
21
#include "L2wResult2009.h"
22
23
class
L2wBemc2009
;
24
class
L2Histo
;
25
class
L2EmcGeom
;
26
// remember to clear in initRun() to avoid stale data
27
class
L2wBemcEvent2009
{
// WARN : all is in RAM x 4096 tokens!
28
public
:
29
enum
{kDataFresh=0};
// if used 1 or more times data are stale
30
private
:
31
friend
class
L2wBemc2009
;
32
int
isFresh;
// for QA
33
float
clusterET;
34
float
seedET;
35
unsigned
long
long
tkCompute;
36
L2wResult2009
resultBlob;
37
};
38
39
class
L2wBemc2009
:
public
L2VirtualAlgo2009
{
40
/* this class fills the folowing bins
41
of counter histo (mhN), see also L2VirtualAlgo2009.h
42
6 - # of eve w/ STALE data - very bad, on input
43
*/
44
public
:
45
enum
{mxBtow=(BtowGeom::mxEtaBin) * (BtowGeom::mxPhiBin)};
// shortcut
46
private
:
47
48
//..................... params set in initRun
49
int
par_dbg;
50
float
par_seedEtThres;
51
float
par_clustEtThres;
52
53
//.............run-long, token independent variables
54
L2EmcGeom
*mGeom;
// avaliable but not used in this example
55
int
mRdo2tower[mxBtow];
56
int
mTower2rdo[mxBtow];
57
58
//---- event-long variables changed by COMPUTE() -----
59
//............... working, token independent
60
float
wrkBtow_et[mxBtow];
// full event
61
int
wrkBtow_tower_seed[mxBtow];
// above seed thresholds, not cleared
62
int
wrkBtow_tower_seed_size;
63
//............... preserved for Decision(),
64
L2wBemcEvent2009
mBtow[L2eventStream2009::mxToken];
//it is a lot of RAM!
65
66
// utility methods
67
void
createHisto();
68
void
clearEvent(
int
token);
69
void
clearEvent();
70
float
sumET(
int
phi,
int
eta);
71
72
public
:
73
L2wBemc2009
(
const
char
* name,
L2EmcDb
* db,
L2EmcGeom
*geo,
char
* outDir,
int
resOff);
74
int
initRunUser(
int
runNo,
int
*rc_ints,
float
*rc_floats);
75
void
finishRunUser();
// at the end of each run
76
void
computeUser(
int
token);
77
bool
decisionUser(
int
token,
int
*myL2Result);
78
79
void
print1(
int
token);
80
void
print2();
81
void
print3();
82
void
print4(
int
token,
int
hitSize);
83
84
};
85
86
#endif
87
88
/**********************************************************************
89
$Log: L2wBemc2009.h,v $
90
Revision 1.1 2009/03/28 19:43:53 balewski
91
2009 code
92
93
94
95
*/
96
L2EmcGeom
Definition:
L2EmcGeom.h:60
L2VirtualAlgo2009
Definition:
L2VirtualAlgo2009.h:27
L2Histo
Definition:
L2Histo.h:14
L2wResult2009
Definition:
electron_histogram_maker.C:10
L2wBemcEvent2009
Definition:
L2wBemc2009.h:27
L2wBemc2009
Definition:
L2wBemc2009.h:39
L2EmcDb
Definition:
L2EmcDb.h:14
Generated by
1.8.5