// Main method to perform the trackleter and the SPD efficiency evaluation
void Reconstruct(TTree* tree, Float_t* vtx, Float_t* vtxRes, AliStack* pStack=0x0, TTree* tRef=0x0);
+ void SetReflectClusterAroundZAxisForLayer(Int_t ilayer,Bool_t b=kTRUE){ // method to study residual background:
+ if(b) AliInfo(Form("All clusters on layer %d will be rotated by 180 deg around z",ilayer));
+ if(ilayer==0) fReflectClusterAroundZAxisForLayer0=b; // a rotation by 180degree around the Z axis
+ else if(ilayer==1) fReflectClusterAroundZAxisForLayer1=b; // (x->-x; y->-y) to all RecPoints on a
+ else AliInfo("Nothing done: input argument (ilayer) either 0 or 1"); // given layer is applied. In such a way
+ } // you remove all the true tracklets.
+
void SetPhiWindowL1(Float_t w=0.08) {fPhiWindowL1=w;} // method to set the cuts in the interpolation
void SetZetaWindowL1(Float_t w=1.) {fZetaWindowL1=w;} // phase; use method of the base class for extrap.
void SetOnlyOneTrackletPerC1(Bool_t b = kTRUE) {fOnlyOneTrackletPerC1 = b;} // as in the base class but
AliITSPlaneEffSPD* GetPlaneEff() const {return fPlaneEffSPD;} // return a pointer to the AliITSPlaneEffSPD
- void SetMC(Bool_t mc=kTRUE) {fMC=mc; InitPredictionMC(); return;} // switch on access to MC true
+ void SetMC(Bool_t mc=kTRUE) {fMC=mc; fMC? InitPredictionMC() : DeletePredictionMC(); return;} // switch on access to MC true
Bool_t GetMC() const {return fMC;} // check the access to MC true
// Only for MC: use only "primary" particles (according to PrimaryTrackChecker) for the tracklet prediction
void SetUseOnlyPrimaryForPred(Bool_t flag=kTRUE) {CallWarningMC(); fUseOnlyPrimaryForPred = flag; }
{return GetRecons(fPlaneEffSPD->GetKey(mod,chip));};
Int_t GetNonRecons(const UInt_t mod, const UInt_t chip) const
{return GetNonRecons(fPlaneEffSPD->GetKey(mod,chip));};
- // methods to write/reas cuts and MC statistics into/from file
+ // methods to write/reas cuts and MC statistics into/from file
+ // if filename contains ".root", then data are stored into histograms (->root file).
void SavePredictionMC(TString filename="TrackletsMCpred.txt") const;
void ReadPredictionMC(TString filename="TrackletsMCpred.txt");
// Print some class info in ascii form to stream (cut values and MC statistics)
Bool_t* fChipUpdatedInEvent; // boolean (chip by chip) to flag which chip has been updated its efficiency
// in that event
AliITSPlaneEffSPD* fPlaneEffSPD; // pointer to SPD plane efficiency class
+ Bool_t fReflectClusterAroundZAxisForLayer0; // if kTRUE, then a 180degree rotation around Z is applied to all
+ Bool_t fReflectClusterAroundZAxisForLayer1; // clusters on that layer (x->-x; y->-y)
Bool_t fMC; // Boolean to access Kinematics (only for MC events )
Bool_t fUseOnlyPrimaryForPred; // Only for MC: if this is true, build tracklet prediction using only primary particles
Bool_t fUseOnlySecondaryForPred; // Only for MC: if this is true build tracklet prediction using only secondary particles
Int_t DecayingTrackChecker(Int_t ipart,AliStack* stack=0x0); // For a primary particle, check if it is stable (see cxx)
// check if a MC particle is reconstructable
Bool_t IsReconstructableAt(Int_t layer,Int_t iC,Int_t ipart,Float_t* vtx,AliStack* stack=0x0,TTree* ref=0x0);
- void InitPredictionMC();
+ void InitPredictionMC(); // allocate memory for cuts and MC data memebers
+ void DeletePredictionMC(); // deallocate memory
// method to locate a chip using current vtx and polar coordinate od tracklet w.r.t. to vtx (zVtx may not be given)
Bool_t FindChip(UInt_t &key, Int_t layer, Float_t* vtx, Float_t thetaVtx, Float_t phiVtx, Float_t zVtx=999.);
// method to transform from Global Cilindrical coordinate to local (module) Cartesian coordinate
Bool_t SaveHists();
void BookHistos(); // booking of extra histograms w.r.t. base class
void DeleteHistos(); //delete histos from memory
+ // Method to apply a rotation by 180degree to all RecPoints (x->-x; y->-y) on a given layer
+ void ReflectClusterAroundZAxisForLayer(Int_t ilayer); // to be used for backgnd estimation on real data
- ClassDef(AliITSTrackleterSPDEff,2)
+ ClassDef(AliITSTrackleterSPDEff,3)
};
// Input and output function for standard C++ input/output (for the cut values and MC statistics).
ostream &operator<<(ostream &os,const AliITSTrackleterSPDEff &s);