]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ANALYSIS/AliEventPoolOTF.cxx
Updated geometry including for the first time ACORDE
[u/mrichter/AliRoot.git] / ANALYSIS / AliEventPoolOTF.cxx
CommitLineData
2d0a3a45 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16/* $Id$ */
17
18
19// Realisation of an AliVEventPool via
20// on the flight (OTF) generation of the bin using AliTagAnalysis.
21// Author Andreas Morsch
22// andreas.morsch@cern.ch
23
24#include "AliEventPoolOTF.h"
25
26#include "AliRunTagCuts.h"
27#include "AliLHCTagCuts.h"
28#include "AliDetectorTagCuts.h"
29#include "AliEventTagCuts.h"
30#include "AliTagAnalysis.h"
31
32ClassImp(AliEventPoolOTF)
33
34
35////////////////////////////////////////////////////////////////////////
36
37AliEventPoolOTF::AliEventPoolOTF():
38 AliVEventPool(),
39 fTagAnalysis(0),
40 fRunCuts(0),
41 fLHCCuts(0),
42 fDetectorCuts(0),
43 fEventCuts(0),
44 fTagDirectory(0),
45 fMultMin(0),
46 fMultMax(0),
47 fMultStep(0),
48 fMultiplicity()
49{
50 // Default constructor
51}
52
53AliEventPoolOTF::AliEventPoolOTF(const char* name, const char* title):
54 AliVEventPool(name, title),
55 fTagAnalysis(new AliTagAnalysis("AOD")),
56 fRunCuts(new AliRunTagCuts()),
57 fLHCCuts(new AliLHCTagCuts()),
58 fDetectorCuts(new AliDetectorTagCuts()),
59 fEventCuts(new AliEventTagCuts()),
60 fTagDirectory("."),
61 fMultMin(0),
62 fMultMax(0),
63 fMultStep(0),
64 fMultiplicity()
65{
66 // Constructor
67}
68
69
70AliEventPoolOTF::AliEventPoolOTF(const AliEventPoolOTF& obj):
71 AliVEventPool(obj),
72 fTagAnalysis(0),
73 fRunCuts(0),
74 fLHCCuts(0),
75 fDetectorCuts(0),
76 fEventCuts(0),
77 fTagDirectory(0),
78 fMultMin(0),
79 fMultMax(0),
80 fMultStep(0),
81 fMultiplicity()
82{
83 // Copy constructor
84}
85
86AliEventPoolOTF& AliEventPoolOTF::operator=(const AliEventPoolOTF& other)
87{
88// Assignment operator
89 AliVEventPool::operator=(other);
90 return *this;
91}
92
93
94void AliEventPoolOTF::Init()
95{
96 //
97 fTagAnalysis->ChainLocalTags(fTagDirectory);
98 fMultiplicity = fMultMin;
99}
100
101TChain* AliEventPoolOTF::GetNextChain()
102{
103 //
104 TChain* chain = 0;
105
106 Int_t mmax = fMultiplicity + fMultStep;
107 if (mmax > fMultMax) {
108 return 0;
109 } else {
110 fEventCuts->SetMultiplicityRange(fMultiplicity, mmax);
111 chain = fTagAnalysis->QueryTags(fRunCuts, fLHCCuts, fDetectorCuts, fEventCuts);
112 fMultiplicity += fMultStep;
113 return chain;
114 }
115}
116
117void AliEventPoolOTF::GetCurrentBin(Float_t* /*bin*/)
118{
119 //
120}
121
122Int_t AliEventPoolOTF::GetDimension()
123{
124 //
125 return (1);
126}
127