#ifndef ALIFMDSHARINGFILTER_H
#define ALIFMDSHARINGFILTER_H
#include <TNamed.h>
#include <TH2.h>
#include <TList.h>
#include "AliForwardUtil.h"
#include "AliFMDMultCuts.h"
class AliESDFMD;
class TAxis;
class TList;
class TH2;
class AliFMDFloatMap;
class AliFMDSharingFilter : public TNamed
{
public:
enum Status {
kNone = 1,
kCandidate = 2,
kMergedWithOther = 3,
kMergedInto = 4
};
virtual ~AliFMDSharingFilter();
AliFMDSharingFilter();
AliFMDSharingFilter(const char* title);
virtual void SetMergingDisabled(Bool_t disable) {fMergingDisabled = disable; }
virtual void SetDebug(Int_t dbg=1) { fDebug = dbg; }
void SetUseAngleCorrectedSignals(Bool_t use) { fCorrectAngles = use; }
void SetZeroSharedHitsBelowThreshold(Bool_t use) { fZeroSharedHitsBelowThreshold = use; }
void SetUseSimpleSharing(Bool_t use) { fUseSimpleMerging = use; }
void SetAllow3Strips(Bool_t use) { fThreeStripSharing = use; }
void SetIgnoreESDWhenAngleCorrecting(Bool_t use) { fIgnoreESDForAngleCorrection = use; }
void SetupForData(const TAxis& axis);
Bool_t Filter(const AliESDFMD& input,
Bool_t lowFlux,
AliESDFMD& output,
Double_t zvtx);
virtual void Terminate(const TList* dir, TList* output, Int_t nEvents);
virtual void CreateOutputObjects(TList* dir);
virtual void Print(Option_t* option="") const;
AliFMDMultCuts& GetLCuts() { return fLCuts; }
AliFMDMultCuts& GetHCuts() { return fHCuts; }
const AliFMDMultCuts& GetLCuts() const { return fLCuts; }
const AliFMDMultCuts& GetHCuts() const { return fHCuts; }
void SetLCuts(const AliFMDMultCuts& c) { fLCuts = c; }
void SetHCuts(const AliFMDMultCuts& c) { fHCuts = c; }
protected:
AliFMDSharingFilter(const AliFMDSharingFilter& o);
AliFMDSharingFilter& operator=(const AliFMDSharingFilter& o);
struct RingHistos : public AliForwardUtil::RingHistos
{
RingHistos();
RingHistos(UShort_t d, Char_t r);
RingHistos(const RingHistos& o);
RingHistos& operator=(const RingHistos& o);
~RingHistos();
void CreateOutputObjects(TList* dir);
void Terminate(const TList* dir, Int_t nEvents);
TH1D* fBefore;
TH1D* fAfter;
TH1D* fSingle;
TH1D* fDouble;
TH1D* fTriple;
TH2D* fSinglePerStrip;
TH2D* fBeforeAfter;
TH2D* fNeighborsBefore;
TH2D* fNeighborsAfter;
TH2D* fSumESD;
TH2D* fSum;
TH1D* fNConsecutive;
ClassDef(RingHistos,4);
};
RingHistos* GetRingHistos(UShort_t d, Char_t r) const;
Double_t SignalInStrip(const AliESDFMD& fmd,
UShort_t d,
Char_t r,
UShort_t s,
UShort_t t) const;
Double_t AngleCorrect(Double_t mult, Double_t eta) const;
Double_t DeAngleCorrect(Double_t mult, Double_t eta) const;
virtual Double_t GetHighCut(UShort_t d, Char_t r, Double_t eta,
Bool_t errors=true) const;
virtual Double_t GetLowCut(UShort_t d, Char_t r, Double_t eta) const;
TList fRingHistos;
Bool_t fCorrectAngles;
TH2* fHighCuts;
TH2* fLowCuts;
Int_t fDebug;
Bool_t fZeroSharedHitsBelowThreshold;
AliFMDMultCuts fLCuts;
AliFMDMultCuts fHCuts;
Bool_t fUseSimpleMerging;
Bool_t fThreeStripSharing;
Bool_t fMergingDisabled;
Bool_t fIgnoreESDForAngleCorrection;
ClassDef(AliFMDSharingFilter,11);
};
#endif
AliFMDSharingFilter.h:100 AliFMDSharingFilter.h:101 AliFMDSharingFilter.h:102 AliFMDSharingFilter.h:103 AliFMDSharingFilter.h:104 AliFMDSharingFilter.h:105 AliFMDSharingFilter.h:106 AliFMDSharingFilter.h:107 AliFMDSharingFilter.h:108 AliFMDSharingFilter.h:109 AliFMDSharingFilter.h:110 AliFMDSharingFilter.h:111 AliFMDSharingFilter.h:112 AliFMDSharingFilter.h:113 AliFMDSharingFilter.h:114 AliFMDSharingFilter.h:115 AliFMDSharingFilter.h:116 AliFMDSharingFilter.h:117 AliFMDSharingFilter.h:118 AliFMDSharingFilter.h:119 AliFMDSharingFilter.h:120 AliFMDSharingFilter.h:121 AliFMDSharingFilter.h:122 AliFMDSharingFilter.h:123 AliFMDSharingFilter.h:124 AliFMDSharingFilter.h:125 AliFMDSharingFilter.h:126 AliFMDSharingFilter.h:127 AliFMDSharingFilter.h:128 AliFMDSharingFilter.h:129 AliFMDSharingFilter.h:130 AliFMDSharingFilter.h:131 AliFMDSharingFilter.h:132 AliFMDSharingFilter.h:133 AliFMDSharingFilter.h:134 AliFMDSharingFilter.h:135 AliFMDSharingFilter.h:136 AliFMDSharingFilter.h:137 AliFMDSharingFilter.h:138 AliFMDSharingFilter.h:139 AliFMDSharingFilter.h:140 AliFMDSharingFilter.h:141 AliFMDSharingFilter.h:142 AliFMDSharingFilter.h:143 AliFMDSharingFilter.h:144 AliFMDSharingFilter.h:145 AliFMDSharingFilter.h:146 AliFMDSharingFilter.h:147 AliFMDSharingFilter.h:148 AliFMDSharingFilter.h:149 AliFMDSharingFilter.h:150 AliFMDSharingFilter.h:151 AliFMDSharingFilter.h:152 AliFMDSharingFilter.h:153 AliFMDSharingFilter.h:154 AliFMDSharingFilter.h:155 AliFMDSharingFilter.h:156 AliFMDSharingFilter.h:157 AliFMDSharingFilter.h:158 AliFMDSharingFilter.h:159 AliFMDSharingFilter.h:160 AliFMDSharingFilter.h:161 AliFMDSharingFilter.h:162 AliFMDSharingFilter.h:163 AliFMDSharingFilter.h:164 AliFMDSharingFilter.h:165 AliFMDSharingFilter.h:166 AliFMDSharingFilter.h:167 AliFMDSharingFilter.h:168 AliFMDSharingFilter.h:169 AliFMDSharingFilter.h:170 AliFMDSharingFilter.h:171 AliFMDSharingFilter.h:172 AliFMDSharingFilter.h:173 AliFMDSharingFilter.h:174 AliFMDSharingFilter.h:175 AliFMDSharingFilter.h:176 AliFMDSharingFilter.h:177 AliFMDSharingFilter.h:178 AliFMDSharingFilter.h:179 AliFMDSharingFilter.h:180 AliFMDSharingFilter.h:181 AliFMDSharingFilter.h:182 AliFMDSharingFilter.h:183 AliFMDSharingFilter.h:184 AliFMDSharingFilter.h:185 AliFMDSharingFilter.h:186 AliFMDSharingFilter.h:187 AliFMDSharingFilter.h:188 AliFMDSharingFilter.h:189 AliFMDSharingFilter.h:190 AliFMDSharingFilter.h:191 AliFMDSharingFilter.h:192 AliFMDSharingFilter.h:193 AliFMDSharingFilter.h:194 AliFMDSharingFilter.h:195 AliFMDSharingFilter.h:196 AliFMDSharingFilter.h:197 AliFMDSharingFilter.h:198 AliFMDSharingFilter.h:199 AliFMDSharingFilter.h:200 AliFMDSharingFilter.h:201 AliFMDSharingFilter.h:202 AliFMDSharingFilter.h:203 AliFMDSharingFilter.h:204 AliFMDSharingFilter.h:205 AliFMDSharingFilter.h:206 AliFMDSharingFilter.h:207 AliFMDSharingFilter.h:208 AliFMDSharingFilter.h:209 AliFMDSharingFilter.h:210 AliFMDSharingFilter.h:211 AliFMDSharingFilter.h:212 AliFMDSharingFilter.h:213 AliFMDSharingFilter.h:214 AliFMDSharingFilter.h:215 AliFMDSharingFilter.h:216 AliFMDSharingFilter.h:217 AliFMDSharingFilter.h:218 AliFMDSharingFilter.h:219 AliFMDSharingFilter.h:220 AliFMDSharingFilter.h:221 AliFMDSharingFilter.h:222 AliFMDSharingFilter.h:223 AliFMDSharingFilter.h:224 AliFMDSharingFilter.h:225 AliFMDSharingFilter.h:226 AliFMDSharingFilter.h:227 AliFMDSharingFilter.h:228 AliFMDSharingFilter.h:229 AliFMDSharingFilter.h:230 AliFMDSharingFilter.h:231 AliFMDSharingFilter.h:232 AliFMDSharingFilter.h:233 AliFMDSharingFilter.h:234 AliFMDSharingFilter.h:235 AliFMDSharingFilter.h:236 AliFMDSharingFilter.h:237 AliFMDSharingFilter.h:238 AliFMDSharingFilter.h:239 AliFMDSharingFilter.h:240 AliFMDSharingFilter.h:241 AliFMDSharingFilter.h:242 AliFMDSharingFilter.h:243 AliFMDSharingFilter.h:244 AliFMDSharingFilter.h:245 AliFMDSharingFilter.h:246 AliFMDSharingFilter.h:247 AliFMDSharingFilter.h:248 AliFMDSharingFilter.h:249 AliFMDSharingFilter.h:250 AliFMDSharingFilter.h:251 AliFMDSharingFilter.h:252 AliFMDSharingFilter.h:253 AliFMDSharingFilter.h:254 AliFMDSharingFilter.h:255 AliFMDSharingFilter.h:256 AliFMDSharingFilter.h:257 AliFMDSharingFilter.h:258 AliFMDSharingFilter.h:259 AliFMDSharingFilter.h:260 AliFMDSharingFilter.h:261 AliFMDSharingFilter.h:262 AliFMDSharingFilter.h:263 AliFMDSharingFilter.h:264 AliFMDSharingFilter.h:265 AliFMDSharingFilter.h:266 AliFMDSharingFilter.h:267 AliFMDSharingFilter.h:268 AliFMDSharingFilter.h:269 AliFMDSharingFilter.h:270 AliFMDSharingFilter.h:271 AliFMDSharingFilter.h:272 AliFMDSharingFilter.h:273 AliFMDSharingFilter.h:274 AliFMDSharingFilter.h:275 AliFMDSharingFilter.h:276 AliFMDSharingFilter.h:277 AliFMDSharingFilter.h:278 AliFMDSharingFilter.h:279 AliFMDSharingFilter.h:280 AliFMDSharingFilter.h:281 AliFMDSharingFilter.h:282 AliFMDSharingFilter.h:283 AliFMDSharingFilter.h:284 AliFMDSharingFilter.h:285 AliFMDSharingFilter.h:286 AliFMDSharingFilter.h:287 AliFMDSharingFilter.h:288 AliFMDSharingFilter.h:289 AliFMDSharingFilter.h:290 AliFMDSharingFilter.h:291 AliFMDSharingFilter.h:292 AliFMDSharingFilter.h:293 AliFMDSharingFilter.h:294 AliFMDSharingFilter.h:295 AliFMDSharingFilter.h:296 AliFMDSharingFilter.h:297 AliFMDSharingFilter.h:298 AliFMDSharingFilter.h:299 AliFMDSharingFilter.h:300 AliFMDSharingFilter.h:301 AliFMDSharingFilter.h:302 AliFMDSharingFilter.h:303 AliFMDSharingFilter.h:304 AliFMDSharingFilter.h:305 AliFMDSharingFilter.h:306 AliFMDSharingFilter.h:307 AliFMDSharingFilter.h:308 AliFMDSharingFilter.h:309 AliFMDSharingFilter.h:310 AliFMDSharingFilter.h:311 AliFMDSharingFilter.h:312 AliFMDSharingFilter.h:313 AliFMDSharingFilter.h:314 AliFMDSharingFilter.h:315 AliFMDSharingFilter.h:316 AliFMDSharingFilter.h:317 AliFMDSharingFilter.h:318 AliFMDSharingFilter.h:319 AliFMDSharingFilter.h:320 AliFMDSharingFilter.h:321 AliFMDSharingFilter.h:322 AliFMDSharingFilter.h:323 AliFMDSharingFilter.h:324 AliFMDSharingFilter.h:325 AliFMDSharingFilter.h:326 AliFMDSharingFilter.h:327 AliFMDSharingFilter.h:328 AliFMDSharingFilter.h:329 AliFMDSharingFilter.h:330 AliFMDSharingFilter.h:331 AliFMDSharingFilter.h:332 AliFMDSharingFilter.h:333 AliFMDSharingFilter.h:334 AliFMDSharingFilter.h:335 AliFMDSharingFilter.h:336 AliFMDSharingFilter.h:337 AliFMDSharingFilter.h:338 AliFMDSharingFilter.h:339 AliFMDSharingFilter.h:340 AliFMDSharingFilter.h:341 AliFMDSharingFilter.h:342 AliFMDSharingFilter.h:343 AliFMDSharingFilter.h:344 AliFMDSharingFilter.h:345 AliFMDSharingFilter.h:346 AliFMDSharingFilter.h:347 AliFMDSharingFilter.h:348 AliFMDSharingFilter.h:349 AliFMDSharingFilter.h:350 AliFMDSharingFilter.h:351 AliFMDSharingFilter.h:352 AliFMDSharingFilter.h:353 AliFMDSharingFilter.h:354 AliFMDSharingFilter.h:355 AliFMDSharingFilter.h:356 AliFMDSharingFilter.h:357 AliFMDSharingFilter.h:358 AliFMDSharingFilter.h:359 AliFMDSharingFilter.h:360 AliFMDSharingFilter.h:361 AliFMDSharingFilter.h:362 AliFMDSharingFilter.h:363 AliFMDSharingFilter.h:364 AliFMDSharingFilter.h:365 AliFMDSharingFilter.h:366 AliFMDSharingFilter.h:367 AliFMDSharingFilter.h:368 AliFMDSharingFilter.h:369 AliFMDSharingFilter.h:370 AliFMDSharingFilter.h:371 AliFMDSharingFilter.h:372 AliFMDSharingFilter.h:373 AliFMDSharingFilter.h:374 AliFMDSharingFilter.h:375 AliFMDSharingFilter.h:376 AliFMDSharingFilter.h:377 AliFMDSharingFilter.h:378 AliFMDSharingFilter.h:379 AliFMDSharingFilter.h:380 AliFMDSharingFilter.h:381 AliFMDSharingFilter.h:382 AliFMDSharingFilter.h:383 AliFMDSharingFilter.h:384 AliFMDSharingFilter.h:385 AliFMDSharingFilter.h:386 AliFMDSharingFilter.h:387 AliFMDSharingFilter.h:388 AliFMDSharingFilter.h:389 AliFMDSharingFilter.h:390 AliFMDSharingFilter.h:391 AliFMDSharingFilter.h:392 AliFMDSharingFilter.h:393 AliFMDSharingFilter.h:394 AliFMDSharingFilter.h:395 AliFMDSharingFilter.h:396 AliFMDSharingFilter.h:397 AliFMDSharingFilter.h:398 AliFMDSharingFilter.h:399 AliFMDSharingFilter.h:400 AliFMDSharingFilter.h:401 AliFMDSharingFilter.h:402 AliFMDSharingFilter.h:403 AliFMDSharingFilter.h:404 AliFMDSharingFilter.h:405 AliFMDSharingFilter.h:406 AliFMDSharingFilter.h:407