]>
Commit | Line | Data |
---|---|---|
c6f61da6 | 1 | #ifndef ALINORMALIZATIONCOUNTER_H\r |
2 | #define ALINORMALIZATIONCOUNTER_H\r | |
3 | \r | |
4 | /**************************************************************************\r | |
5 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *\r | |
6 | * *\r | |
7 | * Author: The ALICE Off-line Project. *\r | |
8 | * Contributors are mentioned in the code where appropriate. *\r | |
9 | * *\r | |
10 | * Permission to use, copy, modify and distribute this software and its *\r | |
11 | * documentation strictly for non-commercial purposes is hereby granted *\r | |
12 | * without fee, provided that the above copyright notice appears in all *\r | |
13 | * copies and that both the copyright notice and this permission notice *\r | |
14 | * appear in the supporting documentation. The authors make no claims *\r | |
15 | * about the suitability of this software for any purpose. It is *\r | |
16 | * provided "as is" without express or implied warranty. *\r | |
17 | **************************************************************************/\r | |
18 | \r | |
19 | /* $Id$ */ \r | |
20 | \r | |
21 | //*************************************************************************\r | |
22 | // Class AliNormalizationCounter\r | |
23 | // Class to store the informations relevant for the normalization in the \r | |
24 | // barrel for each run\r | |
25 | // Authors: G. Ortona, ortona@to.infn.it\r | |
26 | // D. Caffarri, davide.caffarri@pd.to.infn.it\r | |
27 | // with many thanks to P. Pillot\r | |
28 | /////////////////////////////////////////////////////////////\r | |
29 | \r | |
30 | #include <TROOT.h>\r | |
31 | #include <TSystem.h>\r | |
32 | #include <TNtuple.h>\r | |
33 | #include <TH1F.h>\r | |
34 | #include <TH2F.h>\r | |
35 | #include <TH1D.h>\r | |
36 | #include <AliESDEvent.h>\r | |
37 | #include <AliESDtrack.h>\r | |
38 | #include <AliAODTrack.h>\r | |
39 | #include <AliAODEvent.h>\r | |
40 | #include <AliVParticle.h>\r | |
41 | #include "AliAnalysisTaskSE.h"\r | |
42 | #include "AliCounterCollection.h"\r | |
43 | #include "AliAnalysisDataSlot.h"\r | |
44 | #include "AliAnalysisDataContainer.h"\r | |
45 | #include "AliRDHFCuts.h"\r | |
46 | //#include "AliAnalysisVertexingHF.h"\r | |
47 | \r | |
48 | class AliNormalizationCounter : public TNamed\r | |
49 | {\r | |
50 | public:\r | |
51 | \r | |
52 | AliNormalizationCounter();\r | |
53 | AliNormalizationCounter(const char *name);\r | |
54 | virtual ~AliNormalizationCounter();\r | |
55 | Long64_t Merge(TCollection* list);\r | |
56 | \r | |
57 | AliCounterCollection* GetCounter(){return &fCounters;}\r | |
58 | void Init();\r | |
59 | void Add(const AliNormalizationCounter*);\r | |
60 | void SetESD(Bool_t flag){fESD=flag;}\r | |
61 | void SetStudyMultiplicity(Bool_t flag){ fMultiplicity=flag; }\r | |
62 | void StoreEvent(AliVEvent*,AliRDHFCuts *,Bool_t mc=kFALSE);\r | |
63 | void StoreCandidates(AliVEvent*, Int_t nCand=0,Bool_t flagFilter=kTRUE);\r | |
64 | TH1D* DrawAgainstRuns(TString candle="candid(filter)",Bool_t drawHist=kTRUE);\r | |
65 | TH1D* DrawRatio(TString candle1="candid(filter)",TString candle2="triggered");\r | |
66 | void PrintRubrics();\r | |
67 | Double_t GetSum(TString candle="triggered");\r | |
68 | TH2F* GetHist(Bool_t filtercuts=kTRUE,Bool_t spdtracklets=kTRUE,Bool_t drawHist=kFALSE);\r | |
69 | Double_t GetNEventsForNorm();\r | |
70 | Double_t GetNEventsForNorm(Int_t runnumber);\r | |
71 | Bool_t GetStudyMultiplicity(){ return fMultiplicity; }\r | |
72 | Double_t GetNEventsForNorm(Int_t minmultiplicity, Int_t maxmultiplicity);\r | |
73 | TH1D* DrawNEventsForNorm(Bool_t drawRatio=kFALSE);\r | |
74 | \r | |
75 | private:\r | |
76 | AliNormalizationCounter(const AliNormalizationCounter &source);\r | |
77 | AliNormalizationCounter& operator=(const AliNormalizationCounter& source);\r | |
78 | Int_t Multiplicity(AliVEvent* event);\r | |
79 | AliCounterCollection fCounters; //internal counter\r | |
80 | Bool_t fESD; //flag for ESD vs AOD\r | |
81 | Bool_t fMultiplicity; //flag for multiplicity\r | |
82 | TH2F *fHistTrackFilterEvMult; //hist to store no of filter candidates vs no of tracks in the event \r | |
83 | TH2F *fHistTrackAnaEvMult;//hist to store no of analysis candidates vs no of tracks in the event \r | |
84 | TH2F *fHistTrackFilterSpdMult; //hist to store no of filter candidates vs SPD multiplicity \r | |
85 | TH2F *fHistTrackAnaSpdMult;//hist to store no of analysis candidates vs SPD multiplicity \r | |
86 | \r | |
87 | ClassDef(AliNormalizationCounter,5);\r | |
88 | \r | |
89 | };\r | |
90 | #endif\r |